下面我来详细讲解“mybatis-plus update更新操作的三种方式(小结)”的完整攻略。
一、mybatis-plus update更新操作的三种方式
在mybatis-plus中,更新操作有三种方式:updateById、update、updateBatchByIds。下面分别进行介绍。
1. updateById
定义
updateById方法会根据传入的实体类对象更新该对象对应关系型数据库表中的内容,匹配的维度是id字段,如果传入的对象中没有id字段,则会抛出异常。
示例
User user = new User();
user.setId(1L).setUserName("test").setPassword("test123");
int result = userMapper.updateById(user);
// SQL: UPDATE user SET user_name=?, password=? WHERE id=?
// 参数:test, test123, 1
2. update
定义
update方法会根据传入的Wrapper对象封装的条件进行更新操作,更新的对象为传入的实体类对象。其中Wrapper对象封装了查询/更新的条件、排序等信息。
示例
UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("id", 1L).set("user_name", "test").set("password", "test123");
int result = userMapper.update(new User(), updateWrapper);
// SQL: UPDATE user SET user_name=?, password=? WHERE id=?
// 参数:test, test123, 1
3. updateBatchByIds
定义
updateBatchByIds方法会根据传入的实体类对象列表进行批量更新操作,匹配的维度是id字段,如果传入的对象中没有id字段,则会抛出异常。
示例
List<User> userList = new ArrayList<>();
User user1 = new User().setId(1L).setUserName("test1").setPassword("test123");
User user2 = new User().setId(2L).setUserName("test2").setPassword("test123");
userList.add(user1);
userList.add(user2);
int result = userMapper.updateBatchById(userList);
// SQL: UPDATE user SET user_name=?, password=? WHERE id=?
// 参数:test1, test123, 1; test2, test123, 2
二、总结
以上就是mybatis-plus update更新操作的三种方式的详细介绍。其中,updateById适用于根据主键id更新单条记录的场景;update适用于根据复杂条件更新单条记录的场景;updateBatchByIds适用于根据主键id批量更新多条记录的场景。在实际开发中,可以根据具体的业务需求来选择相应的方式进行更新操作,提高数据处理的效率。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mybatis-plus update更新操作的三种方式(小结) - Python技术站