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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

பைடு நூலகம்
//数据处理 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); } mit(); } } catch (Exception e) { e.printStackTrace(); vo.setCode("500"); vo.setMessage("数据插入异常!"); return vo; }
java+mybatis循环生成 insert语句,一次性统一提交,大批量数 据效率高
同种方式适用update批量操作,与单条操作相比效率提高了三分之二。
此方式需要注意的是:不要一次性提交太多条数据,拼接后的sql过长,可能会导致语句无法执行。
insert、update语句就是常规单条操作写法。
SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false); ResearchLogisticsMapper rMapper = sqlSession.getMapper(ResearchLogisticsMapper.class); String biaoshi = logid;
相关文档
最新文档