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>
浙公网安备 33010602011771号