Spring5中JdbcTemplate
JdbcTemplate是什么
JdbcTemplate 类提供了很多便利的方法解决诸如把数据库数据转变成基本数据类型或对象,执行写好的或可调用的数据库操作语句,提供自定义的数据错误处理。
在spring配置文件配置数据库连接池
"dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close"> "url" value="jdbc:mysql:///user_db" /> "username" value="root" /> "password" value="root" /> "driverClassName" value="com.mysql.jdbc.Driver" />
配置 JdbcTemplate 对象,注入 DataSource
"jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> "dataSource" ref="dataSource">
JdbcTemplate添加操作
//注入 JdbcTemplate @Autowired private JdbcTemplate jdbcTemplate; //添加的方法 @Override public void add(Book book) { //1 创建 sql 语句 String sql = "insert into t_book values(?,?,?)"; //2 调用方法实现 Object[] args = {book.getUserId(), book.getUsername(), book.getUstatus()}; int update = jdbcTemplate.update(sql,args);
JdbcTemplate修改操作
String sql = "update t_book set username=?,ustatus=? where user_id=?"; Object[] args = {book.getUsername(), book.getUstatus(),book.getUserId()}; int update = jdbcTemplate.update(sql, args);
JdbcTemplate删除操作
String sql = "delete from t_book where user_id=?"; int update = jdbcTemplate.update(sql, id);
JdbcTemplate(查询返回某个值)(查询返回对象)
BeanPropertyRowMapper:将数据库查询结果转换为Java类对象。
常应用于使用Spring的JdbcTemplate查询数据库,获取List结果列表,数据库表字段和实体类自动对应。
//返回某个值 String sql = "select count(*) from t_book"; Integer count = jdbcTemplate.queryForObject(sql, Integer.class); //返回对象 String sql = "select * from t_book where user_id=?"; Book book = jdbcTemplate.queryForObject(sql,
new BeanPropertyRowMapper(Book.class), id);
JdbcTemplate 查询返回集合
String sql = "select * from t_book"; ListbookList = jdbcTemplate.query(sql,
new BeanPropertyRowMapper(Book.class));
JdbcTemplate批量增加、删除、修改
batchUpdate(增加、删除、修改)
public void batchUpdateBook(List