mybatisplus根据不同ID批量更新

多个id修改相同属性值——使用Wrapper

可以使用 mybatis-Plus 提供的 UpdateWrapper 来批量更新数据。以下是一个根据不同 ID 批量更新的示例:

List<Integer> idList = Arrays.asList(1, 2, 3);
User user = new User();
user.setAge(20);

UpdateWrapper<User> wrapper = new UpdateWrapper<>();
wrapper.in("id", idList);
int rows = userMapper.update(user, wrapper);

上面的示例中,我们首先定义了一个 ID 列表 idList,然后创建了一个 User 对象,设置了要更新的字段。接着,我们使用 UpdateWrapper 创建一个更新条件,使用 in 方法指定要更新的 ID 列表。最后,调用 userMapper.update 方法执行更新,返回受影响的行数。

需要注意的是,使用 UpdateWrapper 更新数据时,如果要更新的字段为 null,则不会更新该字段。如果要更新为 null,可以使用 setNull 方法。

多个id修改相同属性值——不使用Wrapper

相关问题
mybatisplus根据id数组进行批量更新
可以使用MyBatis-Plus提供的updateBatchById方法来实现根据id数组进行批量更新。

示例代码:

List<Integer> idList = Arrays.asList(1, 2, 3);
User user = new User();
user.setAge(18);
int rows = userService.updateBatchById(idList, user);

其中,idList为需要更新的id数组,user为需要更新的字段及值,userService为对应的service接口。执行该方法后,会将id为1、2、3的记录的age字段更新为18,并返回更新的行数。

需要注意的是,updateBatchById方法会将所有记录都更新,因此在使用时需要注意数据量的大小,以避免影响系统性能。

多个id修改多个属性值——不同id的不同属性

mybatisplus根据id批量修改
你使用 MyBatis-Plus 提供的 updateBatchById 方法来批量修改记录。该方法的参数为一个实体对象列表,表示要修改的记录,具体步骤如下:

创建一个实体对象列表,表示要修改的记录。
调用 IService 接口的 updateBatchById 方法,将实体对象列表作为参数传入。
根据返回值判断批量修改是否成功。
以下是示例代码:

List<User> userList = new ArrayList<>();
User user1 = new User();
user1.setId(1L);
user1.setName("Tom");
userList.add(user1);

User user2 = new User();
user2.setId(2L);
user2.setName("Jerry");
userList.add(user2);

// 调用 updateBatchById 方法批量修改记录
boolean success = userService.updateBatchById(userList);

if (success) {
  System.out.println("批量修改成功!");
} else {
  System.out.println("批量修改失败!");
}

其中,User 类表示实体对象,userService 是一个实现了 IService 接口的服务类。需要注意的是,User 类必须继承 Model 类,以便 MyBatis-Plus 能够正确识别实体对象的主键属性。

  • 9
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值