• (四)Spring 对DAO 的支持


    第一节:Spring 对JDBC 的支持

    1,配置数据源dbcp;

    2,使用JdbcTemplate;

    3,JdbcDaoSupport 的使用;

    4,NamedParameterJdbcTemplate 的使用;支持命名参数变量;

    org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate

    1,使用JdbcTemplate;

    T.java:

     1 package com.wishwzp.test;
     2 
     3 import java.util.List;
     4 
     5 import org.junit.Before;
     6 import org.junit.Test;
     7 import org.springframework.context.ApplicationContext;
     8 import org.springframework.context.support.ClassPathXmlApplicationContext;
     9 
    10 import com.wishwzp.model.Student;
    11 import com.wishwzp.service.StudentService;
    12 
    13 
    14 public class T {
    15 
    16     private ApplicationContext ac;
    17 
    18     @Before
    19     public void setUp() throws Exception {
    20         ac=new ClassPathXmlApplicationContext("beans.xml");
    21     }
    22 
    23     //添加
    24     @Test
    25     public void addStudent() {
    26         StudentService studentService=(StudentService)ac.getBean("studentService");
    27         int addNums=studentService.addStudent(new Student("王五", 1));
    28         if(addNums==1){
    29             System.out.println("添加成功");
    30         }
    31     }
    32     
    33     //更新
    34     @Test
    35     public void updateStudent() {
    36         StudentService studentService=(StudentService)ac.getBean("studentService");
    37         int updateNums=studentService.updateStudent(new Student(8,"王五2", 2));
    38         if(updateNums==1){
    39             System.out.println("更新成功");
    40         }
    41     }
    42     
    43     //删除
    44     @Test
    45     public void deleteStudent() {
    46         StudentService studentService=(StudentService)ac.getBean("studentService");
    47         int deleteNums=studentService.deleteStudent(8);
    48         if(deleteNums==1){
    49             System.out.println("删除成功");
    50         }
    51     }
    52     
    53     //查找
    54     @Test
    55     public void findStudents() {
    56         StudentService studentService=(StudentService)ac.getBean("studentService");
    57         List<Student> studentList=studentService.findStudents();
    58         for(Student student:studentList){
    59             System.out.println(student);
    60         }
    61     }
    62 
    63 }

    beans.xml:

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4     xmlns:aop="http://www.springframework.org/schema/aop"
     5     xmlns:context="http://www.springframework.org/schema/context"
     6     xsi:schemaLocation="http://www.springframework.org/schema/beans
     7         http://www.springframework.org/schema/beans/spring-beans.xsd
     8         http://www.springframework.org/schema/aop
     9         http://www.springframework.org/schema/aop/spring-aop.xsd
    10         http://www.springframework.org/schema/context
    11         http://www.springframework.org/schema/context/spring-context.xsd">
    12         
    13     <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    14         <property name="driverClassName" value="${jdbc.driverClassName}"/>
    15         <property name="url" value="${jdbc.url}"/>
    16         <property name="username" value="${jdbc.username}"/>
    17         <property name="password" value="${jdbc.password}"/>
    18     </bean>
    19     
    20     <context:property-placeholder location="jdbc.properties"/>
    21     
    22     <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
    23         <property name="dataSource" ref="dataSource"></property>
    24     </bean>
    25     
    26     
    27     <bean id="studentDao" class="com.wishwzp.dao.impl.StudentDaoImpl">
    28         <property name="jdbcTemplate" ref="jdbcTemplate"></property>
    29     </bean>
    30     
    31     <bean id="studentService" class="com.wishwzp.service.impl.StudentServiceImpl">
    32         <property name="studentDao" ref="studentDao"></property>
    33     </bean> 
    34     
    35 </beans>

    jdbc.properties:

    1 jdbc.driverClassName=com.mysql.jdbc.Driver
    2 jdbc.url=jdbc:mysql://localhost:3306/db_spring?characterEncoding=utf-8
    3 jdbc.username=root
    4 jdbc.password=root

    StudentServiceImpl.java:

     1 package com.wishwzp.service.impl;
     2 
     3 import java.util.List;
     4 
     5 import com.wishwzp.dao.StudentDao;
     6 import com.wishwzp.model.Student;
     7 import com.wishwzp.service.StudentService;
     8 
     9 public class StudentServiceImpl implements StudentService{
    10 
    11     private StudentDao studentDao;
    12     
    13     public void setStudentDao(StudentDao studentDao) {
    14         this.studentDao = studentDao;
    15     }
    16 
    17     @Override
    18     public int addStudent(Student student) {
    19         return studentDao.addStudent(student);
    20     }
    21 
    22     @Override
    23     public int updateStudent(Student student) {
    24         return studentDao.updateStudent(student);
    25     }
    26 
    27     @Override
    28     public int deleteStudent(int id) {
    29         return studentDao.deleteStudent(id);
    30     }
    31 
    32     @Override
    33     public List<Student> findStudents() {
    34         return studentDao.findStudents();
    35     }
    36 
    37 }

    StudentService.java:

     1 package com.wishwzp.service;
     2 
     3 import java.util.List;
     4 
     5 import com.wishwzp.model.Student;
     6 
     7 public interface StudentService {
     8 
     9     public int addStudent(Student student);
    10     
    11     public int updateStudent(Student student);
    12     
    13     public int deleteStudent(int id);
    14     
    15     public List<Student> findStudents();
    16 }

    StudentDaoImpl.java:

     1 package com.wishwzp.dao.impl;
     2 
     3 import java.sql.ResultSet;
     4 import java.sql.SQLException;
     5 import java.util.ArrayList;
     6 import java.util.List;
     7 
     8 import org.springframework.jdbc.core.JdbcTemplate;
     9 import org.springframework.jdbc.core.RowCallbackHandler;
    10 
    11 import com.wishwzp.dao.StudentDao;
    12 import com.wishwzp.model.Student;
    13 
    14 public class StudentDaoImpl implements StudentDao{
    15 
    16     private JdbcTemplate jdbcTemplate;
    17     
    18     public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
    19         this.jdbcTemplate = jdbcTemplate;
    20     }
    21 
    22     @Override
    23     public int addStudent(Student student) {
    24         String sql="insert into t_student values(null,?,?)";
    25         Object []params=new Object[]{student.getName() , student.getAge()};
    26         int addjdbcTemplate = jdbcTemplate.update(sql,params);
    27         return addjdbcTemplate;
    28     }
    29 
    30     @Override
    31     public int updateStudent(Student student) {
    32         String sql="update t_student set name=?,age=? where id=?";
    33         Object []params=new Object[]{student.getName() , student.getAge() , student.getId()};
    34         int updatejdbcTemplate = jdbcTemplate.update(sql,params);
    35         return updatejdbcTemplate;
    36     }
    37 
    38     @Override
    39     public int deleteStudent(int id) {
    40         String sql="delete from t_student where id=?";
    41         Object []params=new Object[]{ id };
    42         int deletejdbcTemplate = jdbcTemplate.update(sql,params);
    43         return deletejdbcTemplate;
    44     }
    45 
    46     @Override
    47     public List<Student> findStudents() {
    48         String sql="select * from t_student";
    49         final List<Student> studentList=new ArrayList<Student>();
    50         jdbcTemplate.query(sql, new RowCallbackHandler(){
    51 
    52             @Override
    53             public void processRow(ResultSet rs) throws SQLException {
    54                 Student student=new Student();
    55                 student.setId(rs.getInt("id"));
    56                 student.setName(rs.getString("name"));
    57                 student.setAge(rs.getInt("age"));
    58                 studentList.add(student);
    59             }
    60         });
    61         return studentList;
    62     }
    63 
    64 }

    StudentDao.java:

     1 package com.wishwzp.dao;
     2 
     3 import java.util.List;
     4 
     5 import com.wishwzp.model.Student;
     6 
     7 public interface StudentDao {
     8 
     9     public int addStudent(Student student);
    10     
    11     public int updateStudent(Student student);
    12     
    13     public int deleteStudent(int id);
    14     
    15     public List<Student> findStudents();
    16 }

    Student.java:

     1 package com.wishwzp.model;
     2 
     3 public class Student {
     4 
     5     private int id;
     6     private String name;
     7     private int age;
     8     
     9     public Student() {
    10         super();
    11         // TODO Auto-generated constructor stub
    12     }
    13     
    14     public Student(String name, int age) {
    15         super();
    16         this.name = name;
    17         this.age = age;
    18     }
    19 
    20     public Student(int id, String name, int age) {
    21         super();
    22         this.id = id;
    23         this.name = name;
    24         this.age = age;
    25     }
    26 
    27 
    28     public int getId() {
    29         return id;
    30     }
    31     public void setId(int id) {
    32         this.id = id;
    33     }
    34     public String getName() {
    35         return name;
    36     }
    37     public void setName(String name) {
    38         this.name = name;
    39     }
    40     public int getAge() {
    41         return age;
    42     }
    43     public void setAge(int age) {
    44         this.age = age;
    45     }
    46 
    47     @Override
    48     public String toString() {
    49         return "Student [id=" + id + ", name=" + name + ", age=" + age + "]";
    50     }
    51     
    52 }

    运行结果就是每一个对数据库的CRUD

    3,JdbcDaoSupport 的使用;

    T.java:

     1 package com.wishwzp.test;
     2 
     3 import java.util.List;
     4 
     5 import org.junit.Before;
     6 import org.junit.Test;
     7 import org.springframework.context.ApplicationContext;
     8 import org.springframework.context.support.ClassPathXmlApplicationContext;
     9 
    10 import com.wishwzp.model.Student;
    11 import com.wishwzp.service.StudentService;
    12 
    13 
    14 public class T {
    15 
    16     private ApplicationContext ac;
    17 
    18     @Before
    19     public void setUp() throws Exception {
    20         ac=new ClassPathXmlApplicationContext("beans.xml");
    21     }
    22 
    23     @Test
    24     public void addStudent() {
    25         StudentService studentService=(StudentService)ac.getBean("studentService");
    26         int addNums=studentService.addStudent(new Student("王五", 1));
    27         if(addNums==1){
    28             System.out.println("添加成功");
    29         }
    30     }
    31     
    32     @Test
    33     public void updateStudent() {
    34         StudentService studentService=(StudentService)ac.getBean("studentService");
    35         int updateNums=studentService.updateStudent(new Student(4,"王五2", 2));
    36         if(updateNums==1){
    37             System.out.println("更新成功");
    38         }
    39     }
    40     
    41     @Test
    42     public void deleteStudent() {
    43         StudentService studentService=(StudentService)ac.getBean("studentService");
    44         int deleteNums=studentService.deleteStudent(10);
    45         if(deleteNums==1){
    46             System.out.println("删除成功");
    47         }
    48     }
    49     
    50     @Test
    51     public void findStudents() {
    52         StudentService studentService=(StudentService)ac.getBean("studentService");
    53         List<Student> studentList=studentService.findStudents();
    54         for(Student student:studentList){
    55             System.out.println(student);
    56         }
    57     }
    58     
    59     
    60 
    61 }

    beans.xml:

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4     xmlns:aop="http://www.springframework.org/schema/aop"
     5     xmlns:context="http://www.springframework.org/schema/context"
     6     xsi:schemaLocation="http://www.springframework.org/schema/beans
     7         http://www.springframework.org/schema/beans/spring-beans.xsd
     8         http://www.springframework.org/schema/aop
     9         http://www.springframework.org/schema/aop/spring-aop.xsd
    10         http://www.springframework.org/schema/context
    11         http://www.springframework.org/schema/context/spring-context.xsd">
    12         
    13     <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    14         <property name="driverClassName" value="${jdbc.driverClassName}"/>
    15         <property name="url" value="${jdbc.url}"/>
    16         <property name="username" value="${jdbc.username}"/>
    17         <property name="password" value="${jdbc.password}"/>
    18     </bean>
    19     
    20     <context:property-placeholder location="jdbc.properties"/>
    21     
    22  
    23     
    24     <bean id="studentDao" class="com.wishwzp.dao.impl.StudentDaoImpl">
    25         <property name="dataSource" ref="dataSource"></property>
    26     </bean> 
    27     
    28     <bean id="studentService" class="com.wishwzp.service.impl.StudentServiceImpl">
    29         <property name="studentDao" ref="studentDao"></property>
    30     </bean> 
    31     
    32 </beans>

    jdbc.properties:

    1 jdbc.driverClassName=com.mysql.jdbc.Driver
    2 jdbc.url=jdbc:mysql://localhost:3306/db_spring?characterEncoding=utf-8
    3 jdbc.username=root
    4 jdbc.password=root

    StudentServiceImpl.java:

     1 package com.wishwzp.service.impl;
     2 
     3 import java.util.List;
     4 
     5 import com.wishwzp.dao.StudentDao;
     6 import com.wishwzp.model.Student;
     7 import com.wishwzp.service.StudentService;
     8 
     9 public class StudentServiceImpl implements StudentService{
    10 
    11     private StudentDao studentDao;
    12     
    13     public void setStudentDao(StudentDao studentDao) {
    14         this.studentDao = studentDao;
    15     }
    16 
    17     @Override
    18     public int addStudent(Student student) {
    19         return studentDao.addStudent(student);
    20     }
    21 
    22     @Override
    23     public int updateStudent(Student student) {
    24         return studentDao.updateStudent(student);
    25     }
    26 
    27     @Override
    28     public int deleteStudent(int id) {
    29         return studentDao.deleteStudent(id);
    30     }
    31 
    32     @Override
    33     public List<Student> findStudents() {
    34         return studentDao.findStudents();
    35     }
    36 
    37     
    38 
    39 }

    StudentService.java:

     1 package com.wishwzp.service;
     2 
     3 import java.util.List;
     4 
     5 import com.wishwzp.model.Student;
     6 
     7 public interface StudentService {
     8 
     9     public int addStudent(Student student);
    10     
    11     public int updateStudent(Student student);
    12     
    13     public int deleteStudent(int id);
    14     
    15     public List<Student> findStudents();
    16 }

    StudentDaoImpl.java:

     1 package com.wishwzp.dao.impl;
     2 
     3 import java.sql.ResultSet;
     4 import java.sql.SQLException;
     5 import java.util.ArrayList;
     6 import java.util.List;
     7 
     8 import org.springframework.jdbc.core.JdbcTemplate;
     9 import org.springframework.jdbc.core.RowCallbackHandler;
    10 import org.springframework.jdbc.core.support.JdbcDaoSupport;
    11 
    12 import com.wishwzp.dao.StudentDao;
    13 import com.wishwzp.model.Student;
    14 
    15 public class StudentDaoImpl extends JdbcDaoSupport implements StudentDao{
    16 
    17     @Override
    18     public int addStudent(Student student) {
    19         String sql="insert into t_student values(null,?,?)";
    20         Object []params=new Object[]{student.getName(),student.getAge()};
    21         int addgetJdbcTemplate = getJdbcTemplate().update(sql,params);
    22         return addgetJdbcTemplate;
    23         //return this.getJdbcTemplate().update(sql,params);
    24     }
    25 
    26     @Override
    27     public int updateStudent(Student student) {
    28         String sql="update t_student set name=?,age=? where id=?";
    29         Object []params=new Object[]{student.getName() , student.getAge() , student.getId()};
    30         int updategetJdbcTemplate = getJdbcTemplate().update(sql,params);
    31         return updategetJdbcTemplate;
    32         //return this.getJdbcTemplate().update(sql,params);
    33     }
    34 
    35     @Override
    36     public int deleteStudent(int id) {
    37         String sql="delete from t_student where id=?";
    38         Object []params=new Object[]{id};
    39         int deletegetJdbcTemplate = getJdbcTemplate().update(sql,params);
    40         return deletegetJdbcTemplate;
    41         //return this.getJdbcTemplate().update(sql,params);
    42     }
    43 
    44     @Override
    45     public List<Student> findStudents() {
    46         String sql="select * from t_student";
    47         final List<Student> studentList=new ArrayList<Student>();
    48         this.getJdbcTemplate().query(sql, new RowCallbackHandler(){
    49 
    50             @Override
    51             public void processRow(ResultSet rs) throws SQLException {
    52                 Student student=new Student();
    53                 student.setId(rs.getInt("id"));
    54                 student.setName(rs.getString("name"));
    55                 student.setAge(rs.getInt("age"));
    56                 studentList.add(student);
    57             }
    58             
    59         });
    60         return studentList;
    61     }
    62 
    63 }

    StudentDao.java:

     1 package com.wishwzp.dao;
     2 
     3 import java.util.List;
     4 
     5 import com.wishwzp.model.Student;
     6 
     7 public interface StudentDao {
     8 
     9     public int addStudent(Student student);
    10     
    11     public int updateStudent(Student student);
    12     
    13     public int deleteStudent(int id);
    14     
    15     public List<Student> findStudents();
    16 }

    Student.java:

     1 package com.wishwzp.model;
     2 
     3 public class Student {
     4 
     5     private int id;
     6     private String name;
     7     private int age;
     8     
     9     
    10     
    11     public Student() {
    12         super();
    13         // TODO Auto-generated constructor stub
    14     }
    15     
    16     
    17     public Student(String name, int age) {
    18         super();
    19         this.name = name;
    20         this.age = age;
    21     }
    22 
    23     
    24 
    25     public Student(int id, String name, int age) {
    26         super();
    27         this.id = id;
    28         this.name = name;
    29         this.age = age;
    30     }
    31 
    32 
    33     public int getId() {
    34         return id;
    35     }
    36     public void setId(int id) {
    37         this.id = id;
    38     }
    39     public String getName() {
    40         return name;
    41     }
    42     public void setName(String name) {
    43         this.name = name;
    44     }
    45     public int getAge() {
    46         return age;
    47     }
    48     public void setAge(int age) {
    49         this.age = age;
    50     }
    51 
    52 
    53     @Override
    54     public String toString() {
    55         return "Student [id=" + id + ", name=" + name + ", age=" + age + "]";
    56     }
    57     
    58     
    59     
    60 }

    运行结果就是每一个对数据库的CRUD

    4,NamedParameterJdbcTemplate 的使用;支持命名参数变量;

    T.java:

     1 package com.wishwzp.test;
     2 
     3 import java.util.List;
     4 
     5 import org.junit.Before;
     6 import org.junit.Test;
     7 import org.springframework.context.ApplicationContext;
     8 import org.springframework.context.support.ClassPathXmlApplicationContext;
     9 
    10 import com.wishwzp.model.Student;
    11 import com.wishwzp.service.StudentService;
    12 
    13 
    14 public class T {
    15 
    16     private ApplicationContext ac;
    17 
    18     @Before
    19     public void setUp() throws Exception {
    20         ac=new ClassPathXmlApplicationContext("beans.xml");
    21     }
    22 
    23     @Test
    24     public void addStudent() {
    25         StudentService studentService=(StudentService)ac.getBean("studentService");
    26         int addNums=studentService.addStudent(new Student("王五", 1));
    27         if(addNums==1){
    28             System.out.println("添加成功");
    29         }
    30     }
    31     
    32     @Test
    33     public void updateStudent() {
    34         StudentService studentService=(StudentService)ac.getBean("studentService");
    35         int updateNums=studentService.updateStudent(new Student(11,"王五2", 2));
    36         if(updateNums==1){
    37             System.out.println("更新成功");
    38         }
    39     }
    40     
    41     @Test
    42     public void deleteStudent() {
    43         StudentService studentService=(StudentService)ac.getBean("studentService");
    44         int deleteNums=studentService.deleteStudent(11);
    45         if(deleteNums==1){
    46             System.out.println("删除成功");
    47         }
    48     }
    49     
    50     @Test
    51     public void findStudents() {
    52         StudentService studentService=(StudentService)ac.getBean("studentService");
    53         List<Student> studentList=studentService.findStudents();
    54         for(Student student:studentList){
    55             System.out.println(student);
    56         }
    57     }
    58     
    59     
    60 
    61 }

    beans.xml:

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4     xmlns:aop="http://www.springframework.org/schema/aop"
     5     xmlns:context="http://www.springframework.org/schema/context"
     6     xsi:schemaLocation="http://www.springframework.org/schema/beans
     7         http://www.springframework.org/schema/beans/spring-beans.xsd
     8         http://www.springframework.org/schema/aop
     9         http://www.springframework.org/schema/aop/spring-aop.xsd
    10         http://www.springframework.org/schema/context
    11         http://www.springframework.org/schema/context/spring-context.xsd">
    12         
    13     <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    14         <property name="driverClassName" value="${jdbc.driverClassName}"/>
    15         <property name="url" value="${jdbc.url}"/>
    16         <property name="username" value="${jdbc.username}"/>
    17         <property name="password" value="${jdbc.password}"/>
    18     </bean>
    19     
    20     <context:property-placeholder location="jdbc.properties"/>
    21     
    22     <bean id="namedParameterJdbcTemplate" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
    23         <constructor-arg ref="dataSource"></constructor-arg>
    24     </bean>
    25     
    26     
    27     <bean id="studentDao" class="com.wishwzp.dao.impl.StudentDaoImpl">
    28         <property name="namedParameterJdbcTemplate" ref="namedParameterJdbcTemplate"></property>
    29     </bean> 
    30     
    31     <bean id="studentService" class="com.wishwzp.service.impl.StudentServiceImpl">
    32         <property name="studentDao" ref="studentDao"></property>
    33     </bean> 
    34     
    35 </beans>

    jdbc.properties:

    1 jdbc.driverClassName=com.mysql.jdbc.Driver
    2 jdbc.url=jdbc:mysql://localhost:3306/db_spring?characterEncoding=utf-8
    3 jdbc.username=root
    4 jdbc.password=root

    StudentServiceImpl.java:

     1 package com.wishwzp.service.impl;
     2 
     3 import java.util.List;
     4 
     5 import com.wishwzp.dao.StudentDao;
     6 import com.wishwzp.model.Student;
     7 import com.wishwzp.service.StudentService;
     8 
     9 public class StudentServiceImpl implements StudentService{
    10 
    11     private StudentDao studentDao;
    12     
    13     public void setStudentDao(StudentDao studentDao) {
    14         this.studentDao = studentDao;
    15     }
    16 
    17     @Override
    18     public int addStudent(Student student) {
    19         return studentDao.addStudent(student);
    20     }
    21 
    22     @Override
    23     public int updateStudent(Student student) {
    24         return studentDao.updateStudent(student);
    25     }
    26 
    27     @Override
    28     public int deleteStudent(int id) {
    29         return studentDao.deleteStudent(id);
    30     }
    31 
    32     @Override
    33     public List<Student> findStudents() {
    34         return studentDao.findStudents();
    35     }
    36 
    37     
    38 
    39 }

    StudentService.java:

     1 package com.wishwzp.service;
     2 
     3 import java.util.List;
     4 
     5 import com.wishwzp.model.Student;
     6 
     7 public interface StudentService {
     8 
     9     public int addStudent(Student student);
    10     
    11     public int updateStudent(Student student);
    12     
    13     public int deleteStudent(int id);
    14     
    15     public List<Student> findStudents();
    16 }

    StudentDaoImpl.java:

     1 package com.wishwzp.dao.impl;
     2 
     3 import java.sql.ResultSet;
     4 import java.sql.SQLException;
     5 import java.util.ArrayList;
     6 import java.util.List;
     7 
     8 import org.springframework.jdbc.core.JdbcTemplate;
     9 import org.springframework.jdbc.core.RowCallbackHandler;
    10 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
    11 import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
    12 
    13 import com.wishwzp.dao.StudentDao;
    14 import com.wishwzp.model.Student;
    15 
    16 public class StudentDaoImpl implements StudentDao{
    17 
    18     private NamedParameterJdbcTemplate namedParameterJdbcTemplate;
    19     
    20     public void setNamedParameterJdbcTemplate(
    21             NamedParameterJdbcTemplate namedParameterJdbcTemplate) {
    22         this.namedParameterJdbcTemplate = namedParameterJdbcTemplate;
    23     }
    24 
    25     @Override
    26     public int addStudent(Student student) {
    27         String sql="insert into t_student values(null,:name,:age)";
    28         MapSqlParameterSource sps=new MapSqlParameterSource();
    29         sps.addValue("name", student.getName());
    30         sps.addValue("age", student.getAge());
    31         return namedParameterJdbcTemplate.update(sql,sps);
    32     }
    33 
    34     @Override
    35     public int updateStudent(Student student) {
    36         String sql="update t_student set name=:name,age=:age where id=:id";
    37         MapSqlParameterSource sps=new MapSqlParameterSource();
    38         sps.addValue("name", student.getName());
    39         sps.addValue("age", student.getAge());
    40         sps.addValue("id", student.getId());
    41         return namedParameterJdbcTemplate.update(sql,sps);
    42     }
    43 
    44     @Override
    45     public int deleteStudent(int id) {
    46         String sql="delete from t_student where id=:id";
    47         MapSqlParameterSource sps=new MapSqlParameterSource();
    48         sps.addValue("id", id);
    49         return namedParameterJdbcTemplate.update(sql,sps);
    50     }
    51 
    52     @Override
    53     public List<Student> findStudents() {
    54         String sql="select * from t_student";
    55         final List<Student> studentList=new ArrayList<Student>();
    56         namedParameterJdbcTemplate.query(sql, new RowCallbackHandler(){
    57 
    58             @Override
    59             public void processRow(ResultSet rs) throws SQLException {
    60                 Student student=new Student();
    61                 student.setId(rs.getInt("id"));
    62                 student.setName(rs.getString("name"));
    63                 student.setAge(rs.getInt("age"));
    64                 studentList.add(student);
    65             }
    66             
    67         });
    68         return studentList;
    69     }
    70 
    71 }

    StudentDao.java:

     1 package com.wishwzp.dao;
     2 
     3 import java.util.List;
     4 
     5 import com.wishwzp.model.Student;
     6 
     7 public interface StudentDao {
     8 
     9     public int addStudent(Student student);
    10     
    11     public int updateStudent(Student student);
    12     
    13     public int deleteStudent(int id);
    14     
    15     public List<Student> findStudents();
    16 }

    Student.java:

     1 package com.wishwzp.model;
     2 
     3 public class Student {
     4 
     5     private int id;
     6     private String name;
     7     private int age;
     8     
     9     
    10     
    11     public Student() {
    12         super();
    13         // TODO Auto-generated constructor stub
    14     }
    15     
    16     
    17     public Student(String name, int age) {
    18         super();
    19         this.name = name;
    20         this.age = age;
    21     }
    22 
    23     
    24 
    25     public Student(int id, String name, int age) {
    26         super();
    27         this.id = id;
    28         this.name = name;
    29         this.age = age;
    30     }
    31 
    32 
    33     public int getId() {
    34         return id;
    35     }
    36     public void setId(int id) {
    37         this.id = id;
    38     }
    39     public String getName() {
    40         return name;
    41     }
    42     public void setName(String name) {
    43         this.name = name;
    44     }
    45     public int getAge() {
    46         return age;
    47     }
    48     public void setAge(int age) {
    49         this.age = age;
    50     }
    51 
    52 
    53     @Override
    54     public String toString() {
    55         return "Student [id=" + id + ", name=" + name + ", age=" + age + "]";
    56     }
    57     
    58     
    59     
    60 }

    运行结果就是每一个对数据库的CRUD

    第二节:Spring 对Hibernate 的支持

    后面Spring 整合Hibernate 的时候会提的。

  • 相关阅读:
    MySql插不进中文,以及IDEA连接MySql出现小段乱码问题
    安装Consul环境并启动
    格式化日期,首字母大写
    设计模式
    用户刷新页面,中止客户端面请求,怎么判断服务端也取消请求
    Token使用
    IdentityServer4搭建和使用
    Filter 过滤器
    添加Filter 并控制它的执行顺序
    在startup 添加数据库链接字符串
  • 原文地址:https://www.cnblogs.com/wishwzp/p/5491631.html
Copyright © 2020-2023  润新知