Spring配置JDBCTemplate
案例:单测查询全部学生
项目结构:
1.导入部署jar包:spring-jdbc
- <!--spring-jdbc-->
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-jdbc</artifactId>
- <version>4.2.0.RELEASE</version>
- </dependency>
2.创建实体类:Student
- public class Student {
- private Integer id; //编号
- private String name; //姓名
- private Integer age; //年龄
- private Date birthday; //出生日期
- }
3.创建dao层的接口和实现类:
IStudentDAO:
- public interface IStudentDAO {
- //查询全部
- public List<Student> findAll();
- }
StudentDAOImpl:继承JdbcDaoSupport 实现IStudentDAO
- public class StudentDAOImpl extends JdbcDaoSupport implements IStudentDAO{
- public List<Student> findAll() {
- String sql="select * from student";
- List<Student> list=this.getJdbcTemplate().query(sql, new RowMapper<Student>() {
- /**
- *
- * @param rs
- * @param i
- * @return
- * @throws SQLException
- */
- public Student mapRow(ResultSet rs, int i) throws SQLException {
- Student student=new Student();
- student.setId(rs.getInt("id"));
- student.setName(rs.getString("name"));
- student.setAge(rs.getInt("age"));
- student.setBirthday(rs.getDate("birthday"));
- return student;
- }
- });
- return list;
- }
- }
4.创建service层的接口和实现类:
IStudentService:
- public interface IStudentService {
- //查询全部
- public List<Student> findAll();
- }
StudentServiceImpl:
- public class StudentServiceImpl implements IStudentService {
- private IStudentDAO dao;
- public List<Student> findAll() {
- return dao.findAll();
- }
- public IStudentDAO getDao() {
- return dao;
- }
- public void setDao(IStudentDAO dao) {
- this.dao = dao;
- }
- }
在applicationContextSpring15jdbctemplate.xml中配置:
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:aop="http://www.springframework.org/schema/aop"
- xmlns:context="http://www.springframework.org/schema/context"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
- http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
- http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
- ">
- <!--00.识别jdbc.properties-->
- <!--方式一-->
- <!-- <context:property-placeholder location="jdbc.properties"></context:property-placeholder>-->
- <!--方式二-->
- <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
- <property name="location" value="jdbc.properties"></property>
- </bean>
- <!--01.建立数据源-->
- <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
- <property name="driverClassName" value="${jdbc.driver}"></property>
- <property name="url" value="${jdbc.url}"></property>
- <property name="username" value="${jdbc.uname}"></property>
- <property name="password" value="${jdbc.password}"></property>
- </bean>
- <!--03.dao的配置-->
- <bean id="studentDao" class="cn.happy.spring22jdbctemplate.dao.impl.StudentDAOImpl">
- <property name="dataSource" ref="dataSource"></property>
- </bean>
- <!--04.service的配置-->
- <bean id="studentService" class="cn.happy.spring22jdbctemplate.service.impl.StudentServiceImpl">
- <property name="dao" ref="studentDao"></property>
- </bean>
- </beans>
其他三种数据源的方案:
- <!--02建立数据源 dbcp-->
- <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
- <property name="driverClassName" value="${jdbc.driver}"></property>
- <property name="url" value="${jdbc.url}"></property>
- <property name="username" value="${jdbc.uname}"></property>
- <property name="password" value="${jdbc.password}"></property>
- </bean>
- <!--03建立数据源 c3p0-->
- <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
- <property name="driverClass" value="${jdbc.driver}"></property>
- <property name="jdbcUrl" value="${jdbc.url}"></property>
- <property name="user" value="${jdbc.uname}"></property>
- <property name="password" value="${jdbc.password}"></property>
- </bean>
- <!--03建立数据源 alibaba-->
- <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
- <property name="driverClassName" value="${jdbc.driver}"></property>
- <property name="url" value="${jdbc.url}"></property>
- <property name="username" value="${jdbc.uname}"></property>
- <property name="password" value="${jdbc.password}"></property>
- </bean>
单元测试:
- //jdbcTemplate
- @Test
- public void test01(){
- ApplicationContext context=new ClassPathXmlApplicationContext("applicationContextSpring15jdbctemplate.xml");
- IStudentService dao=(IStudentService) context.getBean("studentService");
- List<Student> list = dao.findAll();
- for (Student item:list){
- System.out.println(item.getName());
- }
- }
执行结果:
Spring配置JDBCTemplate的更多相关文章
- Spring:JdbcTemplate使用指南
Spring:JdbcTemplate使用指南 Spring:JdbcTemplate使用指南 前言: 本文指在介绍Spring框架中的JdbcTemplate类的使用方法,涉及基本的Spring反转 ...
- spring配置连接池和dao使用jdbcTemplate
1 spring配置c3p0连接池 第一步 导入jar包 第二步 创建spring配置文件,配置连接池 (1)把代码中的实现在配置文件中实现 2 dao使用jdbcTemplate (1) 创建ser ...
- Spring配置连接池和 Dao 层使用 jdbcTemplate
1.Spring 配置 c3p0 连接池 (1)导入jar包(Maven项目) <dependency> <groupId>com.mchange</groupId> ...
- spring配置属性的两种方式
spring配置属性有两种方式,第一种方式通过context命名空间中的property-placeholder标签 <context:property-placeholder location ...
- spring配置详解
1.前言 公司老项目的后台,均是基于spring框架搭建,其中还用到了log4j.jar等开源架包.在新项目中,则是spring和hibernate框架均有使用,利用了hibernate框架,来实现持 ...
- spring配置事务
一.配置JDBC事务处理机制 <!-- 配置Hibernate事务处理 --> <bean id="transactionManager" class=" ...
- spring使用jdbcTemplate和jdbcdaosupport和namedparameter
jdbcTemplate: 首先连接数据库 <!-- 导入外部文件 --> <context:property-placeholder location="classpat ...
- Spring之JDBCTemplate学习
一.Spring对不同的持久化支持: Spring为各种支持的持久化技术,都提供了简单操作的模板和回调 ORM持久化技术 模板类 JDBC org.springframework.jdbc.core. ...
- spring使用JdbcTemplate和jdbcDaosupport及具名参数使用
关于jdbctemplate: 个人感觉比Java链接mysql那一套方便好维护多了,只需在配置文件维护即可 需要的包: com.springsource.net.sf.cglib-2.2.0.jar ...
随机推荐
- Python属性(@property)
创建用于计算机的属性 在Python中,可以通过@property(装饰器)将一个方法转换为属性,从而实现用于计算的属性.将方法转换为属性后,可以直接通过方法名来访问方法,而不需要再添加一对小括号&q ...
- eclipse创建动态maven项目
需求表均同springmvc案例 此处只是使用maven 注意,以下所有需要建立在你的eclipse等已经集成配置好了maven了,说白了就是新建项目的时候已经可以找到maven了 没有的话需要安装m ...
- IDEA的debug操作
- B: Ocean的游戏(前缀和)
B: Ocean的游戏 Time Limit: 1 s Memory Limit: 128 MB Submit My Status Problem Description 给定一个字符串s, ...
- SVN_2008R2 搭建流程与规范
Svn服务在win2008 搭建 1:svn服务的原理与架构 1.Svn服务可以理解为加强版的ftp文件服务器, svn采用HTTP协议的方式进行文件传输 2.服务端安装好后,普通用户也需要下载一个c ...
- python中深拷贝与浅拷贝
# 1.浅拷贝(复制东西)a = [11,22,33] # 实际上是浅拷贝# 没有把这个变量的值赋进去,而是把另一个变量的地址拿过去了,就叫浅拷贝.b = a # print(id(a))# prin ...
- 一脸懵逼学习hadoop之HDFS的java客户端编写
1:eclipse创建一个项目,然后导入对应的jar包: 鼠标右击项目,点击properties或者alt+enter快捷键--->java build path--->libraries ...
- C++ ifstream ofstream
原文出自[比特网],转载请保留原文链接:http://soft.chinabyte.com/database/460/11433960.sh [导读] ofstream是从内存到硬盘,ifstream ...
- 【bzoj3747】[POI2015]Kinoman
题解: 水题 从左向右维护以每一个作为右端点的最大值 线段树维护 代码: #include <bits/stdc++.h> using namespace std; #define rin ...
- NEST - 返回部分文档
Selecting fields to return Version:5.x 英文原文地址:Selecting fields to return 有时候,不需要让 Elasticsearch 返回查询 ...