Spring 对DAO 的支持

Posted kika

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 的时候会提的。

 

以上是关于Spring 对DAO 的支持的主要内容,如果未能解决你的问题,请参考以下文章

Spring 对 DAO 的支持

spring对dao层的支持

[刘阳Java]_Spring对Dao的支持_第10讲

spring对dao层的支持(datasource的作用)

Spring DAO模块

Spring框架针对dao层的jdbcTemplate操作 包括crud