请教下 MyBatis批量插入/更新 的实现 在内部是循环一条一条的操作并提交还是批量操作(类似于 Insert into 表 value () value () 这样的)后再执行?
1、Mybatis的批处理模式,底层可以源码可以看到使用的还是batch接口,批量增加,不是单条模式了。
2、Mybatis批处理底层用的是SQLSession,sqlSessionFactory.openSession(ExecutorType.BATCH, false)
3、Session底层批处理使用的是JDBC的底层批处理操作。
4、批量新增insert数据其实JDBC就执行一次addBatch()方法接口
批量插入(MySql为例)
< insert id="insertList" >
insert into sys_user(user_name,user_password,...) values
(
#{user.userName},
#{user.userPassrod},
...
)
</foreach>
< /insert >
接口:
int insertList(List userList);
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。