码迷,mamicode.com
首页 > 其他好文 > 详细

List 数据分批入库

时间:2019-02-26 19:00:53      阅读:319      评论:0      收藏:0      [点我收藏+]

标签:not   分割   color   bre   code   ice   结果   start   max   

 直接贴代码,主要运用  

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 数据分批入库

标签:not   分割   color   bre   code   ice   结果   start   max   

原文地址:https://www.cnblogs.com/xinxin-ting/p/10439230.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!