首页 > 编程语言 > 详细

java+mybatis循环生成insert语句,一次性统一提交,大批量数据效率高

时间:2020-06-20 11:39:09      阅读:196      评论:0      收藏:0      [点我收藏+]

同种方式适用update批量操作,与单条操作相比效率提高了三分之二。

此方式需要注意的是:不要一次性提交太多条数据,拼接后的sql过长,可能会导致语句无法执行。

insert、update语句就是常规单条操作写法。

 SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
            ResearchLogisticsMapper rMapper = sqlSession.getMapper(ResearchLogisticsMapper.class);
            String biaoshi = logid;
        //数据处理
            List<ResearchLogistics> dataList = data(str, caseNo, path, request, biaoshi);
       //每2000条提交一次
            List<List<ResearchLogistics>> dataLists = ListUtils.partition(dataList, 2000);
            try {
                int i = 0;
                for (int h = 0; h < dataLists.size(); h++) {
                    List<ResearchLogistics> l = dataLists.get(h);
                    for (ResearchLogistics r : l) {
                        i = i + rMapper.batchInsertLogistics(r);
                    }
                    sqlSession.commit();
                }
            } catch (Exception e) {
                e.printStackTrace();
                vo.setCode("500");
                vo.setMessage("数据插入异常!");
                return vo;
            }

 

java+mybatis循环生成insert语句,一次性统一提交,大批量数据效率高

原文:https://www.cnblogs.com/tongsi/p/13167915.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!