什么是JDBCTemplate
- Spring 框架对JDBC进行了封装,使用JDBCTemplate方便实现对数据库操作
准备工作
-
引入依赖
-
在spring配置文件中配置数据库连接池
prop.driverClass=com.jdbc.cj.mysql.driverClass prop.username=root prop.url=.... prop.password....
3.配置JdbcTemplate对象,注入DataSource
4.创建Service 类, 创建DAO类,在dao注入JDBCtemplate对象(可以用注解的方式)
总结一下:
我们要在service里边注入dao的对象,dao里边要有JDBCTemplate对象,这个JdbcTemplate 对象可以在xmL文件中配置,在JdbcTemplate中有一个属性需要注入,这个属性叫做dataSource,根据JDBCTemplate源码,我们可以使用set方法注入的方式。这个dataSource,就是JDBC规范的一个具体实现,这里我们使用Druid连接池来配置
利用JDBCTemplate来操作数据库- 添加, 修改,删除操作:
jdbcTemplate.update(String sql, Object …args)
- 查询返回某一个值:
jdbcTemplate.queryForObject(String sql, Class requiredType)
第一个参数:sql语句
第二个参数:返回类型,例如如果是整形,就是Integer.class ,是String,就是String.class
-
查询返回一个对象
jdbcTemplate.queryForObject(String sql, RowMapper rowMapper, Object …args)
第二个参数说明:RowMapper, 是接口,返回不同类型的数据,可以使用这个接口的实现类完成数据的封装
RowMapper 接口的一个重要实现类:BeanPropertyRowMapper<返回的对象类型>
-
查询返回一个集合
jdbcTemplate.query(String sql, RowMapper rowMapper, Object …args)
参数和上边的参数是一样的,使用方法也相同
-
批量添加,删除,修改
batchUpdate(String sql, List
第二个参数:List 集合,添加多条记录数据
原理:这个方法会根据传入的List, 把List遍历一遍,遍历一次执行一次sql语句
//eg: String sql = "insert into book values(?, ?, ?)" List



