java - 我应该如何通过spring boot编写批量更新方法
问题描述
这是我需要通过 DTO 列表更新 mysql 表的方法,我一个一个地更新它们,这是我的代码:
@Override
@Transactional
public void updateCustomCategory(List<ItemDto> itemDtoList) {
if (CollectionUtils.isNotEmpty(itemDtoList)) {
for (ItemDto itemDto : itemDtoList) {
Long l1CustomCategoryId = itemDto.getL1CustomCatId();
Long l2CustomCategoyId = itemDto.getL2CustomCatId();
StringBuilder query =
new StringBuilder(
"update ItemDto item set item.l1CustomCategoryId = :l1CustomCategoryId and item.l2CustomCategoryId = :l2CustomCategoyId where itemId = :itemId");
Query q = this.em.createQuery(query.toString());
q.setParameter("l1CustomCategoryId", l1CustomCategoryId);
q.setParameter("l2CustomCategoyId", l2CustomCategoyId);
q.setParameter("itemId", itemDto.getItemId());
q.executeUpdate();
}
}
}
如果数据量很大,我想将其修改为批量更新以保持性能良好,该怎么办?
解决方案
推荐阅读
- javascript - 如何使用 jquery 编辑表 td 值
- java - 文件大于 2 GB 的 InputStream
- java - 通过 maven/Aether 确定给定 pom 的父 pom
- jquery - 从另一个模态打开一个模态抛出错误
- php - 如何从模型中获取 id
- r - R:使用 glmer 命令指定随机效果
- python - 一天内的 Python 正态分布
- javascript - 如何更改图像的名称?
- java - 如何将 eclipse 编辑器与我用 fxml 设计的 java 桌面应用程序集成?
- wordpress - 使用现有 html 网站 javascripts 和其他文件配置 wordpress