展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

Mybatis plus入门(六):更新

目录

  • 根据id修改,使用BaseMapper接口的updateById方法,传入参数为id有值的实体对象
  • 根据id更新,使用BaseMapper接口的updateById方法,传入参数为id有值的实体对象
  • 按条件更新,使用BaseMapper的update方法,传入参数为1个实体对象和Wrappers
  • 按条件更新,使用BaseMapper的update方法,传入参数为1个实体对象和Wrappers对象
  • 按条件更新,使用BaseMapper接口的update方法,传入参数为1个实体对象和QueryWrapper对象
  • 按条件更新,使用BaseMapper接口的update方法,传入参数为1个实体对象和QueryWrapper对象
  • 按条件更新数据,使用BaseMapper接口的update方法,更新符合条件的数据,传入参数为UpdateWrapper或LambdaUpdateWrapper

代码案例

  • 根据id修改,使用BaseMapper接口的updateById方法,传入参数为id有值的实体对象
@GetMapping("/test7")
@ResponseBody
public String test7() {
User user = userDao.selectById("1");
user.setAge(99);
userDao.updateById(user);
return "success";
}
  • 根据id更新,使用BaseMapper接口的updateById方法,传入参数为id有值的实体对象
@RequestMapping(value = "/test12")
@ResponseBody
public String test12(){
mapper.updateById(new User().setId(1L).setEmail("ab@c.c"));
return "success";
}
  • 按条件更新,使用BaseMapper的update方法,传入参数为1个实体对象和Wrappers
@RequestMapping(value = "/test12")
@ResponseBody
public String test12(){
mapper.update(
// 新建对象name设置为mp
new User().setName("mp"),
// 将id为2的数据,age设置为3,name设置为mp
Wrappers.<User>lambdaUpdate()
.set(User::getAge, 3)
.eq(User::getId, 2)
);
return "success";
}
@RequestMapping(value = "/test12")
@ResponseBody
public String test12(){
// 将id为2的对象邮箱设置为null
mapper.update(null, Wrappers.<User>lambdaUpdate().set(User::getEmail, null).eq(User::getId, 2));
return "success";
}
  • 按条件更新,使用BaseMapper的update方法,传入参数为1个实体对象和Wrappers对象
@RequestMapping(value = "/test12")
@ResponseBody
public String test12(){
// 将id为2的对象age设置为null,邮箱设置为miemie2@baomidou.com
mapper.update(
new User().setEmail("miemie2@baomidou.com"),
Wrappers.<User>lambdaUpdate()
.set(User::getAge, null)
.eq(User::getId, 2)
);
return "success";
}
  • 按条件更新,使用BaseMapper接口的update方法,传入参数为1个实体对象和QueryWrapper对象
@RequestMapping(value = "/test12")
@ResponseBody
public String test12(){
mapper.update(
new User().setEmail("miemie@baomidou.com"),
new QueryWrapper<User>()
.lambda().eq(User::getId, 2)
);
return "success";
}
  • 按条件更新,使用BaseMapper接口的update方法,传入参数为1个实体对象和QueryWrapper对象
@GetMapping("/test8")
@ResponseBody
public String test8() {
User user = userDao.selectById("1");
user.setName("狗蛋");
QueryWrapper<User> updateWrapper = new QueryWrapper<>();
// 修改age=99的对象
updateWrapper.eq("age",99);
userDao.update(user, updateWrapper);
return "success";
}
  • 按条件更新数据,使用BaseMapper接口的update方法,更新符合条件的数据,传入参数为UpdateWrapper或LambdaUpdateWrapper
@RequestMapping("/test0")
@ResponseBody
public String test0(){
// 方式一
User user = new User();
user.setAge(29);
user.setEmail("test3update@baomidou.com");
userMapper.update(user,new UpdateWrapper<User>().eq("name","Tom"));
//方式二:不创建User对象
userMapper.update(null,new UpdateWrapper<User>()
// 更新name为Tom的数据
.set("age",29).set("email","test3update@baomidou.com").eq("name","Tom"));
// 方式三:使用lambda条件构造器
userMapper.update(null,new LambdaUpdateWrapper<User>()
.set(User::getAge,29).set(User::getEmail,"test3update@baomidou.com").eq(User::getName,"Tom"));
return "success";
}
posted @   DogLeftover  阅读(1484)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示