List 数据分批入库

Posted xinxin-ting

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了List 数据分批入库相关的知识,希望对你有一定的参考价值。

 直接贴代码,主要运用  

List<E> subList(int fromIndex, int toIndex); 把 List 分割
   /**
     * 保存批价结果
     *
     * @param priceResult 批价结果
     * @throws Exception 异常
     */
    private void savePriceResult(List<AmountPo> priceResult) throws Exception {
        if (CheckUtils.isNotEmpty(priceResult)) {
       //很大的一个list 比如:20W条数据
int size = priceResult.size(); int startIndex = 0;
       //每批入库list大小 比如:5000条一批
int endIndex = (int) MAX_SIZE;
       //定义临时list List
<AmountPo> amountPos; //分批入库 while (true) { endIndex = endIndex > size ? size : endIndex;
          //list.subList 分割成小的list amountPos
= priceResult.subList(startIndex, endIndex); if (amountPos.size() == MAX_SIZE) {
            //执行入库操作 amountDao.batchAdd(amountPos); }
else { //最后一批入库数据 if (CheckUtils.isNotEmpty(amountPos)) { amountDao.batchAdd(amountPos); } break; } startIndex = endIndex; endIndex = (int) (startIndex + MAX_SIZE); } } }

 

以上是关于List 数据分批入库的主要内容,如果未能解决你的问题,请参考以下文章

java后台大数据量下的分批入库

list集合分批处理数据

并发5多线程并发解析单文件大数据了量解析入库,1800万数据8线程5分钟入库

Springboot 多线程分批切割处理 大数据量List集合 ,实用示例

并发实战:多线程处理任务,结束后,执行后续操作

MongoDB批量操作时字段为null时不会入库