JdbcTemplate

spring提供用于操作JDBC工具类,依赖连接池DataSource

实现步骤:

  1.创建数据库和表。

  2.导入jar包:4+1、4个aop、jdbc、事务tx、数据库驱动、连接池。

  3.编写javabean。

  4.编写dao,声明JdbcTemplate引用。

  5.配置文件中声明数据源、JdbcTemplate、dao。

  6.测试。

方法详解:

  execute():用于执行任何SQL语句,一般执行DDL。

  update()和batchUpdate():执行DML等语句;batchUpdate()执行批处理语句。

  query()和queryForXxx():执行查询相关语句。

  call():执行存储过程、函数相关语句。

 

  • queryForXxx()方法说明

queryForInt():查询一行一列返回整型

queryForMap():查询一行返回map

queryForObject(sql,Class):查询一行,返回指定类型。

queryForList():查询多行,默认将每行封装为map,返回集合。

queryForList(sql,args,Class):查询多行一列,返回指定类型的集合。

queryForRowSet():查询多行,返回SqlRowSet,类似ResultSet,但不绑定连接。

  • JdbcTemplate类支持的回调类:

  预编译语句及存储过程的回调:

    PreparedStatementCreator:通过回调获取JdbcTemplate提供的PreparedStatement。

    CallableStatementCreator:通过回调获取JdbcTemplate提供的CallableStatement。

  预编译语句设置值的回调:

    PreparedStatementSetter:通过回调获取JdbcTemplate提供的PreparedStatement来给参数赋值。

    BatchPreparedStatementSetter:类似PreparedStatementSetter,用于批处理,指定批处理大小。

  自定义功能回调:

    ConnectionCallback:通过回调获取JdbcTemplate提供的Connection来使用。

    StatementCallback:通过回调获取JdbcTemplate提供的Statement来使用。

    PreparedStatementCallback:通过回调获取JdbcTemplate提供的PreparedStatement来使用。

    CallableStatementCallback:通过回调获取JdbcTemplate提供的CallableStatement来使用。

  结果集处理回调:

    RowMapper:将结果集的一行转换为需要的类型,要实现mapRow(rs,rowNum)方法。

      常用实现类:BeanPropertyRowMapper,将结果集一行封装为一个bean。

    RowCallbackHandler:处理结果集每行数据,要实现processRow(rs)方法,不用rs.next()。

    ResultSetExtractor:提取结果集数据,要实现extractData(rs)方法。

JdbcDaoSupport

  1. 编写dao,继承JdbcDaoSupport。

  2. 配置文件中删除JdbcTemplate配置,给dao注入数据源。

  3. 测试。

使用properties属性文件

1. 声明properties属性文件。

2. 在配置文件中导入属性文件。

  <context:property-placeholder location="com/spring01/jdbc2/db.properties"/>

3. 使用

  <property name="driverClassName" value="${jdbc.driver}"></property>

posted on 2021-08-27 22:37  tom和mt  阅读(62)  评论(0)    收藏  举报