spring使用JdbcTemplate

知识点:

 为了使JDBC更加易于使用,Spring在JDBC API上定义了一个抽象层,以此建立一个JDBC存取框架
 作为Spring JDBC框架的核心,JDBC模板的设计目的是为了不同类型的JDBC操作提供模板方法,每个模板方法都能控制整个过程,并允许覆盖过程中的特定任务,通过这种方式,可以在尽可能保留灵活性的情况下,将数据库存取的工作量降到最低
使用JdbcTemplate更新数据库
用sql语句和参数更新数据库
update
 public int update(String sql,Object... args)
   throws DataAccessException
批量更新数据库
  batchUpdate
  public int[] batchUpdate(String sql,List<Object[]> batchArgs)
使用JdbcTemplate 查询数据库
查询单行
  queryForObject
  public <T> T queryForObject(String sql,
ParameterizedRowM<T> rm,
Object... args)
throw DataAccessException
便利的BeanPropertyRowMapper实现
 org.springframework.jdbc.core.simple
Class parameterizedBeanPropertyRowMapper<T>
java.lang.object-->org.springframework.jdbc.core.BeanPropertyRowMapper-->org.springframework.jdbc.core.simple.ParameterizedBeanPropertyRowMapper<T>

简化JDBC模板查询
每次使用都创建一个JdbcTemplate的新实例,这种做法效率很低下
JdbcTemplate类被设计成为线程安全的,所以可以在IOC容器中声明它的单个实例,并将这个实例注入到所有的DAOA实例中
JdbcTemplate也利用了Java1.5的特性(自动装箱,泛型,可变长度等)来简化开发
Spring JDBC框架还提供了一个JdbcDaoSupport类来简化DAO实现,该类声明了jdbcTemplate属性,它可以从IOC容器中注入,或者自动从数据源中创建
注入JDBC模板示例代码
<bean id="jdbcTemplate"
class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"/>
<bean id="personDAO"
class="org.simpleit.jdbc.PersonDAO">
<property name="jdbcTemplate" ref="jdbcTemplate"></property>
</bean>

示例:

xml:

mysql数据表

java相关jar包及数据库配置文件



对应数据库表的bean类

使用jdbctemplate的类(测试):





以上那些图片是一个java类,一张图截不下。

关于JdbcDaoSupport用的不多,不在截图。

扩展JdbcDaoSupport示例代码
public class PersonDAO extends JdbcDaoSupport
<bean id="personDAO"
class="org.simpleit.jdbc.PersonDAO">
<property name="dataSource" ref="dataSource"/>
</bean>

猜你喜欢

转载自blog.csdn.net/youjiangtengwan1/article/details/54290270