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); } } }

 

转载于:https://www.cnblogs.com/xinxin-ting/p/10439230.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值