本节讲述Spring对JDBC的支持。
JdbcTemplate 简介
为了使JDBC更加易于使用,Spring在JDBC API上定义了一个抽象层,以此建立一个JDBC存取框架。
作为Spring JDBC框架的核心,JDBC模板的设计目的是为不同类型的JDBC操作提供模板方法。每个模板方法都能控制整个过程,并允许覆盖过程中的特定任务。通过这种方式,可以在尽可能保留灵活性的情况下,将数据库存取的工作量降到最低。
使用 JdbcTemplate更新数据库
用sql语句和参数更新数据库:
update
public int update(String sql,Object… args) throw DataAccessException
批量更新数据库
batchUpdate
public int[] batchUpdate(String sql,List
使用 JdbcTemplate查询数据库
查询单行
queryForObject
public
便利的BeanPropertyRowMappper实现
org.springframework.jdbc.core.simple
Class ParameterizedBeanPropertyRowMapper
java.lang.Object
BeanPropertyRowMapper
ParameterizedBeanPropertyRowMapper
查询多行
query
public
单值查询
queryForObject
public
简化JDBC模板查询
每次使用都创建一个JdbcTemplate的新实例,这种做法效率很低下。
JdbcTemplate类被设计成为线程安全的,所以可以在IOC容器中声明它的单个实例,并将这个实例注入到所有的DAO实例中。
JdbcTemplate 也利用了Java 1.5 的特定(自动装箱,泛型,可变长度等)来简化开发。
SpringJDBC框架还提供了一个JdbcDaoSupport类来简化DAO实现。该类声明了jdbcTemplate属性,它可以从IOC容器中注入,或者自动从数据源中创建。
不推荐使用 JdbcDaoSupport,而推荐直接使用 JdbcTemplate作为Dao类的成员变量。
新建项目spring-03。新建文件夹lib。导入如下的包并build path。
c3p0-0.9.1.2.jar
com.springsource.net.sf.cglib-2.2.0.jar
com.springsource.org.aopalliance-1.0.0.jar
com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar
commons-logging-1.2.jar
mysql-connector-java-5.1.22-bin.jar
spring-aop-4.0.4.RELEASE.jar
spring-aspects-4.0.4.RELEASE.jar
spring-beans-4.0.4.RELEASE.jar
spring-context-4.0.4.RELEASE.jar
spring-core-4.0.4.RELEASE.jar
spring-expression-4.0.4.RELEASE.jar
spring-jdbc-4.0.4.RELEASE.jar
spring-orm-4.0.4.RELEASE.jar
spring-tx-4.0.4.RELEASE.jar
spring-web-4.0.4.RELEASE.jar
spring-webmvc-4.0.4.RELEASE.jar
在该项目下新建包com.leezp.spring.jdbc。
在该包下新建Department.java。
|
|
在该包下新建Employee.java。
|
|
新建EmployeeDao.java。
|
|
新建DepartmentDao.java。
|
|
新建db.properties属性文件。
|
|
新建applicationContext.xml配置文件。
|
|
在该包下new-> JUnit Test Case-> 新建一个JDBCTest.java。
|
|
在JDBC模板中使用具名参数
在经典的JDBC用法中,SQL参数是用占位符?表示,并且受到位置的限制。定位参数的问题在于,一旦参数的顺序发生变化,就必须改变参数绑定。
在SpringJDBC框架中,绑定SQL参数的另一种选择是使用具名参数(named parameter)。
具名参数:SQL按名称(以冒号开头)而不是按位置进行指定。具名参数更易于维护,也提升了可读性。具名参数由框架类在运行时用占位符取代。
具名参数只在NamedParameterJdbcTemplate中得到支持。
修改applicationContext.xml配合文件。增加以下内容。
|
|
修改Employee.java。
|
|
修改JDBCTest.java。
|
|
版权声明:本文为博主原创文章,转载请注明出处 Leezp’s Blog