数据库批量修改数据时,如果一次修改数据量很大时,可能会造成阻塞。可以通过List subList(int fromIndex, int toIndex) 方法进行对list进行截取操作。其中subList(int fromIndex, int toIndex)取值包含fromIndex,不包含toIndex。例如subList(0, 5) 会截取到 下标是0-4的数据,下标未5的数据不会截取。

 public void batchUpdate(List<TcEmployee> tcEmployeeList) throws Exception {if (CollectionUtils.isEmpty(tcEmployeeList)) {return;}// 进行分页批量执行,防止一次update数据太多造成阻塞执行失败int size = tcEmployeeList.size();//按照200条一次进行拆分,计算需要运行的次数int runNumber = size % 200 == 0 ? size / 200 : (size / 200) + 1;log.info("批量处理数据size:{},运行总次数:{}", size, runNumber);for (int i = 1; i <= runNumber; i++) {int startIndex = (i - 1) * 200;int endIndex = i == runNumber ? size : 200 * i;log.info("运行批次:" + i + ",List-index:" + 200 * (i - 1) + "-" + endIndex);List<TcEmployee> subList = tcEmployeeList.subList((i - 1) * 200, endIndex);tcEmployeeMapper.batchUpdate(subList);}}
 批量处理数据size:1281,运行总次数:7运行批次:1,List-index:0-200运行批次:2,List-index:200-400运行批次:3,List-index:400-600运行批次:4,List-index:600-800运行批次:5,List-index:800-1000运行批次:6,List-index:1000-1200运行批次:7,List-index:1200-1281

批量修改数据进行分批处理相关推荐

  1. 【RecyclerView】 十二、RecyclerView 数据更新 ( 修改单条数据 | 批量修改数据 )

    文章目录 一.修改单条数据 二.批量修改数据 三.完整代码示例 四.RecyclerView 相关资料 一.修改单条数据 修改单条数据 : 调用 RecyclerView.Adapter 的 void ...

  2. 7.3 MASS批量修改数据(Excel文件上传数据)

    7.3 MASS批量修改数据(Excel文件上传数据) 步骤1:输入事务码MASS进入 1处,输入需要修改的对象类型(参见对象类型清单) 2处,点击"执行"按钮 步骤2:选择需要修 ...

  3. 7.2 MASS批量修改数据(剪切板上传数据)

    7.2 MASS批量修改数据(剪切板上传数据) 步骤1:输入事务码MASS进入 1处,输入需要修改的对象类型(参见对象类型清单) 2处,点击"执行"按钮 步骤2:选择需要修改的表和 ...

  4. 【MyBatis动态SQL批量修改数据出现报错问题】

    MyBatis动态SQL批量修改数据出现报错问题 MyBatis动态SQL批量修改数据出现报错问题 问题描述 XML文件中的动态SQL 执行结果 测试执行 报错日志 解决 原数据库URL 修改后数据库 ...

  5. mysql之批量修改数据

    文章目录 1. 对于某个字段,批量修改数据的方式 2. jdbc中批量插入数据的方式 2.1 jdbc中标准插入多条数据的方式 2.2 jdbc中批量插入多条数据的方式 1. 对于某个字段,批量修改数 ...

  6. update 批量修改数据

    update 批量修改数据 更新同一张的数据表,将父ID赋值为对应的ID(根据父编码等于部门编码) update dept2 set parentdeptId=dept1.ID from BO_BY_ ...

  7. 批量修改数据映射_Docker 数据卷操作「Docker 系列-6」

    数据卷入门 在前面的案例中,如果我们需要将数据从宿主机拷贝到容器中,一般都是使用 Docker 的拷贝命令,这样性能还是稍微有点差,没有办法能够达到让这种拷贝达到本地磁盘 I/O 性能呢?有! 数据卷 ...

  8. mysql所有的编码_MySQL 批量修改数据表编码及字符集

    当需要修改数据库编码和字符集时,通常需要对其下属的所有表及表中所有字段进行修改.以下备注批量修改方案( 以修改为 utf8mb4_bin 为例,注意将 db_name 换为真实的数据库名 ). 1. ...

  9. MySQL批量修改数据

    注:之前写批量修改,都是先将数据查询出来之后,再进行批量修改,如: UPDATE `xuer_info`SET userlevel = ( CASE idWHEN 1 THEN '低级'WHEN 2 ...

最新文章

  1. 后台参数验证的几种方式
  2. mysql 查询表总行数字段_mysql中怎么查询表中的字段个数
  3. Oracle存储过程和自定义函数
  4. 中班游戏电子计算机,幼儿园中班数学游戏:小小快递员
  5. Centos7换yum源
  6. Solaris11 磁盘分区
  7. 计科1高雨妍作业(2)
  8. [BZOJ5302][HAOI2018]奇怪的背包(DP)
  9. JAVA构造方法与构造方法的执行原理简单理解(栈与堆)
  10. 通过poi导出带图片的Excel表格
  11. python生成Excel透视表
  12. formula 返回list_如何在Hibernate / JPA中使用@Formula
  13. 借助方便的工具平台,让App制作变简单
  14. [英语] It_be_XXX_that_YYY强调句句式
  15. android 图片跑马灯动画,【Android自定义View】- 文本跑马灯效果
  16. 长篇分享腾讯工作的环境、待遇等
  17. 改进的booth编码实例
  18. 1 分钟抗住 10 亿请求!某些 App 怎么做到的?
  19. 支持ipv6的各种服务器和客户端
  20. css calc()函数 动态根据屏幕宽度计算宽度

热门文章

  1. Pynq_Z2-hdmi输出图像、文字流程(VDMA)
  2. 微信API接口、微信二次开发API调用
  3. 普元EOS应用,更改管理端口
  4. 如何看待信创国产化?对于国内的软件行业有什么启示?
  5. DBSCAN密度聚类示例深入理解
  6. 用python做简单的接口压力测试
  7. 妹子始终没搞懂OAuth2.0,今天整合Spring Cloud Security 一次说明白!
  8. 个人新用户怎么选择云服务器?
  9. react 使用 Youtube 播放器
  10. Linux进程管理进程优先级nice