mybatis-plus 修改百万级数据
时间: 2023-10-06 15:11:09 浏览: 84
修改百万级数据可以使用 MyBatis-Plus 的批量更新功能,使用以下步骤:
1.先查询需要修改的数据,使用分页查询方式,每页查询一定数量的数据。
2.使用 MyBatis-Plus 的批量更新功能,将查询出来的数据分批更新。
3.在更新过程中注意控制一次更新的数据量,避免一次更新过多数据导致系统崩溃。
示例代码如下:
```java
// 分页查询需要修改的数据
int pageSize = 10000; // 每页查询的数量
int currentPage = 1; // 当前页数
List<User> userList = new ArrayList<>();
while (true) {
Page<User> page = new Page<>(currentPage, pageSize);
IPage<User> userPage = userMapper.selectPage(page, null);
List<User> records = userPage.getRecords();
if (records.isEmpty()) {
break;
}
userList.addAll(records);
currentPage++;
}
// 批量更新数据
int batchCount = 1000; // 每批更新的数量
for (int i = 0; i < userList.size(); i += batchCount) {
int endIndex = Math.min(i + batchCount, userList.size());
List<User> subList = userList.subList(i, endIndex);
userMapper.updateBatchById(subList);
}
```
阅读全文