案例:单测查询全部学生

项目结构:

1.导入部署jar包:spring-jdbc

  1. <!--spring-jdbc-->
  2. <dependency>
  3. <groupId>org.springframework</groupId>
  4. <artifactId>spring-jdbc</artifactId>
  5. <version>4.2.0.RELEASE</version>
  6. </dependency>

2.创建实体类:Student

  1. public class Student {
  2. private Integer id; //编号
  3. private String name; //姓名
  4. private Integer age; //年龄
  5. private Date birthday; //出生日期
  6. }

3.创建dao层的接口和实现类:

IStudentDAO:

  1. public interface IStudentDAO {
  2. //查询全部
  3. public List<Student> findAll();
  4. }

StudentDAOImpl:继承JdbcDaoSupport  实现IStudentDAO

  1. public class StudentDAOImpl extends JdbcDaoSupport implements IStudentDAO{
  2.  
  3. public List<Student> findAll() {
  4. String sql="select * from student";
  5. List<Student> list=this.getJdbcTemplate().query(sql, new RowMapper<Student>() {
  6. /**
  7. *
  8. * @param rs
  9. * @param i
  10. * @return
  11. * @throws SQLException
  12. */
  13. public Student mapRow(ResultSet rs, int i) throws SQLException {
  14. Student student=new Student();
  15. student.setId(rs.getInt("id"));
  16. student.setName(rs.getString("name"));
  17. student.setAge(rs.getInt("age"));
  18. student.setBirthday(rs.getDate("birthday"));
  19. return student;
  20. }
  21. });
  22. return list;
  23. }
  24. }

4.创建service层的接口和实现类:

IStudentService:

  1. public interface IStudentService {
  2. //查询全部
  3. public List<Student> findAll();
  4. }

StudentServiceImpl:

  1. public class StudentServiceImpl implements IStudentService {
  2. private IStudentDAO dao;
  3. public List<Student> findAll() {
  4. return dao.findAll();
  5. }
  6.  
  7. public IStudentDAO getDao() {
  8. return dao;
  9. }
  10.  
  11. public void setDao(IStudentDAO dao) {
  12. this.dao = dao;
  13. }
  14. }

在applicationContextSpring15jdbctemplate.xml中配置:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:aop="http://www.springframework.org/schema/aop"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  6. xsi:schemaLocation="
  7. http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
  8. http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
  9. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
  10. ">
  11. <!--00.识别jdbc.properties-->
  12. <!--方式一-->
  13. <!-- <context:property-placeholder location="jdbc.properties"></context:property-placeholder>-->
  14. <!--方式二-->
  15. <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  16. <property name="location" value="jdbc.properties"></property>
  17. </bean>
  18. <!--01.建立数据源-->
  19. <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  20. <property name="driverClassName" value="${jdbc.driver}"></property>
  21. <property name="url" value="${jdbc.url}"></property>
  22. <property name="username" value="${jdbc.uname}"></property>
  23. <property name="password" value="${jdbc.password}"></property>
  24. </bean>
  25. <!--03.dao的配置-->
  26. <bean id="studentDao" class="cn.happy.spring22jdbctemplate.dao.impl.StudentDAOImpl">
  27. <property name="dataSource" ref="dataSource"></property>
  28. </bean>
  29. <!--04.service的配置-->
  30. <bean id="studentService" class="cn.happy.spring22jdbctemplate.service.impl.StudentServiceImpl">
  31. <property name="dao" ref="studentDao"></property>
  32. </bean>
  33. </beans>

其他三种数据源的方案:

  1. <!--02建立数据源 dbcp-->
  2. <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
  3. <property name="driverClassName" value="${jdbc.driver}"></property>
  4. <property name="url" value="${jdbc.url}"></property>
  5. <property name="username" value="${jdbc.uname}"></property>
  6. <property name="password" value="${jdbc.password}"></property>
  7. </bean>
  8. <!--03建立数据源 c3p0-->
  9. <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
  10. <property name="driverClass" value="${jdbc.driver}"></property>
  11. <property name="jdbcUrl" value="${jdbc.url}"></property>
  12. <property name="user" value="${jdbc.uname}"></property>
  13. <property name="password" value="${jdbc.password}"></property>
  14. </bean>
  15. <!--03建立数据源 alibaba-->
  16. <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
  17. <property name="driverClassName" value="${jdbc.driver}"></property>
  18. <property name="url" value="${jdbc.url}"></property>
  19. <property name="username" value="${jdbc.uname}"></property>
  20. <property name="password" value="${jdbc.password}"></property>
  21. </bean>

单元测试:

  1. //jdbcTemplate
  2. @Test
  3. public void test01(){
  4. ApplicationContext context=new ClassPathXmlApplicationContext("applicationContextSpring15jdbctemplate.xml");
  5. IStudentService dao=(IStudentService) context.getBean("studentService");
  6. List<Student> list = dao.findAll();
  7. for (Student item:list){
  8. System.out.println(item.getName());
  9. }
  10. }

执行结果:

Spring配置JDBCTemplate的更多相关文章

  1. Spring:JdbcTemplate使用指南

    Spring:JdbcTemplate使用指南 Spring:JdbcTemplate使用指南 前言: 本文指在介绍Spring框架中的JdbcTemplate类的使用方法,涉及基本的Spring反转 ...

  2. spring配置连接池和dao使用jdbcTemplate

    1 spring配置c3p0连接池 第一步 导入jar包 第二步 创建spring配置文件,配置连接池 (1)把代码中的实现在配置文件中实现 2 dao使用jdbcTemplate (1) 创建ser ...

  3. Spring配置连接池和 Dao 层使用 jdbcTemplate

    1.Spring 配置 c3p0 连接池 (1)导入jar包(Maven项目) <dependency> <groupId>com.mchange</groupId> ...

  4. spring配置属性的两种方式

    spring配置属性有两种方式,第一种方式通过context命名空间中的property-placeholder标签 <context:property-placeholder location ...

  5. spring配置详解

    1.前言 公司老项目的后台,均是基于spring框架搭建,其中还用到了log4j.jar等开源架包.在新项目中,则是spring和hibernate框架均有使用,利用了hibernate框架,来实现持 ...

  6. spring配置事务

    一.配置JDBC事务处理机制 <!-- 配置Hibernate事务处理 --> <bean id="transactionManager" class=" ...

  7. spring使用jdbcTemplate和jdbcdaosupport和namedparameter

    jdbcTemplate: 首先连接数据库 <!-- 导入外部文件 --> <context:property-placeholder location="classpat ...

  8. Spring之JDBCTemplate学习

    一.Spring对不同的持久化支持: Spring为各种支持的持久化技术,都提供了简单操作的模板和回调 ORM持久化技术 模板类 JDBC org.springframework.jdbc.core. ...

  9. spring使用JdbcTemplate和jdbcDaosupport及具名参数使用

    关于jdbctemplate: 个人感觉比Java链接mysql那一套方便好维护多了,只需在配置文件维护即可 需要的包: com.springsource.net.sf.cglib-2.2.0.jar ...

随机推荐

  1. Python属性(@property)

    创建用于计算机的属性 在Python中,可以通过@property(装饰器)将一个方法转换为属性,从而实现用于计算的属性.将方法转换为属性后,可以直接通过方法名来访问方法,而不需要再添加一对小括号&q ...

  2. eclipse创建动态maven项目

    需求表均同springmvc案例 此处只是使用maven 注意,以下所有需要建立在你的eclipse等已经集成配置好了maven了,说白了就是新建项目的时候已经可以找到maven了 没有的话需要安装m ...

  3. IDEA的debug操作

  4. B: Ocean的游戏(前缀和)

    B: Ocean的游戏 Time Limit: 1 s      Memory Limit: 128 MB Submit My Status Problem Description 给定一个字符串s, ...

  5. SVN_2008R2 搭建流程与规范

    Svn服务在win2008 搭建 1:svn服务的原理与架构 1.Svn服务可以理解为加强版的ftp文件服务器, svn采用HTTP协议的方式进行文件传输 2.服务端安装好后,普通用户也需要下载一个c ...

  6. python中深拷贝与浅拷贝

    # 1.浅拷贝(复制东西)a = [11,22,33] # 实际上是浅拷贝# 没有把这个变量的值赋进去,而是把另一个变量的地址拿过去了,就叫浅拷贝.b = a # print(id(a))# prin ...

  7. 一脸懵逼学习hadoop之HDFS的java客户端编写

    1:eclipse创建一个项目,然后导入对应的jar包: 鼠标右击项目,点击properties或者alt+enter快捷键--->java build path--->libraries ...

  8. C++ ifstream ofstream

    原文出自[比特网],转载请保留原文链接:http://soft.chinabyte.com/database/460/11433960.sh [导读] ofstream是从内存到硬盘,ifstream ...

  9. 【bzoj3747】[POI2015]Kinoman

    题解: 水题 从左向右维护以每一个作为右端点的最大值 线段树维护 代码: #include <bits/stdc++.h> using namespace std; #define rin ...

  10. NEST - 返回部分文档

    Selecting fields to return Version:5.x 英文原文地址:Selecting fields to return 有时候,不需要让 Elasticsearch 返回查询 ...