前面介绍了JdbcTemplate的插入数据和查询数据,占用CURD中的两项,本文则将主要介绍数据更新和删除。从基本使用上来看,姿势和前面的没啥两样
I. 环境准备
我们查询所用数据,正是前面一篇插入的结果,如下图
II. 更新使用说明
对于数据更新,这里会分为两种进行说明,单个和批量;这个单个并不是指只能一条记录,主要针对的是sql的数量而言
1. update 方式
看过第一篇数据插入的童鞋,应该也能发现,新增数据也是用的这个方法,下面会介绍三种不同的使用姿势
先提供一个数据查询的转换方法,用于对比数据更新前后的结果
private MoneyPO queryById(int id) {
return jdbcTemplate.queryForObject(
"select id, `name`, money, is_deleted as isDeleted, unix_timestamp(create_at) as " +
"created, unix_timestamp(update_at) as updated from money where id=?",
new BeanPropertyRowMapper<>(MoneyPO.class), id);
}
a. 纯sql更新
这个属于最基本的方式了,前面几篇博文中大量使用了,传入一条完整的sql,执行即可
int id = 10;
// 最基本的sql更新
String sql = "update money set money=money + 999 where id =" + id;
int ans = jdbcTemplate.update(sql);
System.out.println("basic update: " + ans + " | db: " + queryById(id));
b. 占位sql
问好占位,实际内容通过参数传递方式