mybatis批量插入数据问题

mybatis批量插入数据问题

SqlSession sqlSession = getSqlSessionFactory().openSession(ExecutorType.BATCH);//使当前的sqlsession具有批处理能力
PersonMapper personMapper = sqlSession.getMapper(PersonMapper.class);
for(int i = 0;i<10000;i++){
   personMapper.addPerson(new Person("jueres","juery@imooc.com","f"));
}
sqlSession.commit();
sqlSession.close();

老师 上面代码的第一行不加ExecutorType.BATCH也能插入10000条数据呀,加这个没看出来怎么体现了批量插入,而且下面用了for循环插入,这感觉跟批量没关系呀

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕阿满 2019-04-30 15:31:03

同学你好,批量就是成批的数量,所以下边的for循环,就是一个批量的数据。在第一行如果加上ExecutorType.BATCH是使用ExecutorType进行批处理操作的,如果不加,也可以插入数据,但是使用的是sql语句拼接的方式进行操作的,不是批处理。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 慕圣2241928 #1
    老师 sql拼接是怎么回事啊,是 insert into person(username,email,gender)vaiues(),(),(),....,();这样吗?
    2019-04-30 15:38:41
  • 好帮手慕阿满 回复 提问者 慕圣2241928 #2
    是的,可以这么理解。祝:学习愉快~
    2019-04-30 16:25:33
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
SSM主流框架入门与综合项目实战2018版
  • 参与学习           人
  • 提交作业       205    份
  • 解答问题       4317    个

Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师