mybatis-plus update更新操作(三种方式)

发布于:2023-09-15 ⋅ 阅读:(185) ⋅ 点赞:(0)

update更新操作(三种方式)


MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

愿景
我们的愿景是成为 MyBatis 最好的搭档,就像 魂斗罗 中的 1P、2P,基友搭配,效率翻倍。

Mapper层 CRUD 接口

update

// 根据 whereWrapper 条件,更新记录
int update(@Param(Constants.ENTITY) T updateEntity, @Param(Constants.WRAPPER) Wrapper<T> whereWrapper);

方式一(UpdateWrapper 条件构造器)

// 根据userName修改
UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("userName","一个肥鲶鱼");

User user = new User();
user.setSex("男");

userMapper.update(user, updateWrapper);
// sql等于是: 
// update user set sex = '男' where userName = '一个肥鲶鱼'

方式二(适用于少量字段的更新,避免构造实体对象)

UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("userName","一个肥鲶鱼").set("sex", "男");
userMapper.update(null, updateWrapper);

方式三(Lambda构造器)

LambdaUpdateWrapper<User> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
lambdaUpdateWrapper.eq(User::getUserName, "一个肥鲶鱼")
		.set(User::getSex, "男")
		.set(User::getAge, 18);
userMapper.update(null, lambdaUpdateWrapper);

updateById

// 根据 ID 修改
int updateById(@Param(Constants.ENTITY) T entity);

小栗子

// 根据主键id修改数据
User user = new User();
user.setId(1);
user.setUserName("一个肥鲶鱼");
user.setSex("男");
userMapper.updateById(user);
// sql
// update user set user_name = '一个肥鲶鱼', sex = '男' where userName = '一个肥鲶鱼'

网站公告

今日签到

点亮在社区的每一天
去签到