如何在MyBatis中使用批处理批量提交

  介绍

如何在MyBatis中使用批处理批量提交?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

@ autowired   private  SqlSessionFactory  sqlSessionFactory;   @ transactional (rollbackFor =, Exception.class)   @Override   public  void  batchTest (), {   SqlSession 才能;SqlSession =, sqlSessionFactory.openSession (ExecutorType.BATCH);   CountryMapper 才能;mapper =, sqlSession.getMapper (CountryMapper.class);   List<才能;Country>, countries =, mapper.selectAll ();   for 才能;(int 小姐:=,0;,小姐:& lt;, countries.size();,我+ +),{   ,,,Country  Country =, countries.get(我);   ,,,country.setCountryname (country.getCountryname (), +,“Test");   ,,,mapper.updateByPrimaryKey(国家);   ,,,//每,50,条提交一次   ,,,如果((小姐:+,- 1),%,50,==,0){   ,,,,,sqlSession.flushStatements ();   ,,,}   ,,}   sqlSession.flushStatements才能();   }

在上面例子中,在<代码>服务> SqlSessionFactory> SqlSession :

SqlSession  SqlSession =, sqlSessionFactory.openSession (ExecutorType.BATCH);

后续通过<代码> SqlSession> 映射器>

上述代码执行过程中输出的日志如下:

[com.isea533.mybatis.service.impl.CountryServiceImpl调试——创建新的事务名称。batchTest]: PROPAGATION_REQUIRED, ISOLATION_DEFAULT
调试- [com.alibaba.druid.proxy.jdbc获得连接。ConnectionProxyImpl@752c11a2] JDBC事务
调试-切换(com.alibaba.druid.proxy.jdbc JDBC连接。ConnectionProxyImpl@752c11a2]手动提交
调试(com.alibaba.druid.proxy.jdbc - JDBC连接。ConnectionProxyImpl@752c11a2)将由弹簧
调试-==祝辞,从一个国家准备:选择Id、countryname countrycode
调试-==比;参数:
调试- & lt;==,,,,,总:183
调试-==祝辞,准备:更新国家设置Id=Id, countryname=? countrycode=?Id=?
调试-==比;参数:AngolaTest(字符串),AO(字符串),1(整数)
调试-==比;参数:AfghanistanTest(字符串),AF(字符串),2(整数)
调试-==比;参数:AlbaniaTest(字符串),艾尔(字符串),3(整数)
==========================================
…省略中间部分参数
==========================================
调试-==比;参数:EthiopiaTest (String)等(字符串),50(整数)
调试-==祝辞,准备:更新国家设置Id=Id, countryname=? countrycode=?Id=?
调试-==比;参数:FijiTest(字符串),FJ(字符串),51(整数)
调试-==比;参数:FinlandTest(字符串),FI(字符串),52(整数)
==========================================
…省略中间部分参数
==========================================
调试-==比;参数:MadagascarTest(字符串),MG(字符串),98(整数)
调试-==比;参数:MalawiTest(字符串),兆瓦(字符串),99(整数)
调试-==比;参数:MalaysiaTest(字符串),我(字符串),100(整数)
调试-==祝辞,准备:更新国家设置Id=Id, countryname=? countrycode=?Id=?
调试-==比;参数:MaldivesTest(字符串),MV(字符串),101(整数)
调试-==比;参数:MaliTest(字符串),毫升(字符串),102(整数)
==========================================
…省略中间部分参数
==========================================
调试-==比;参数:南AfricaTest(字符串),咱(字符串),149(整数)
调试-==比;参数:SpainTest(字符串),ES(字符串),150(整数)
调试-==祝辞,准备:更新国家设置Id=Id, countryname=? countrycode=?Id=?
调试-==比;参数:斯里兰卡LankaTest(字符串),路(字符串),151(整数)
调试-==比;参数:St.LuciaTest(字符串),LC(字符串),152(整数)
==========================================
…省略中间部分参数
==========================================
调试-==比;参数:ZaireTest(字符串),锆(字符串)、182(整数)
调试-==比;参数:ZambiaTest(字符串),ZM评选(字符串),183(整数)
==========================================
下面事务自动提交
==========================================
调试,启动事务提交
调试- JDBC事务提交>关于如何在MyBatis中使用批处理批量提交问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

如何在MyBatis中使用批处理批量提交