配置
MyBatis3.3.1或者MyBatis3.4.X(自测使用3.4.6)
ModuleMapper.xml
<insert id="batchInsert" useGeneratedKeys="true" keyProperty="id">
INSERT INTO module(app_id, task_id, `name`) VALUES
<foreach collection="list" item="module" index="index" separator=",">
(
#{module.appId},
#{module.taskId},
#{module.name}
)
</foreach>
</insert>
注意事项
- 接口的参数名字一定要是
list
,collection
,array
中的一个,比如
void batchInsert(@Param("list") List<TaskModule> modules);
- 因为在单元测试中使用H2数据,H2数据库原来是不支持批量插入后获取自增ID的,但是最新版的
1.4.197
已经支持了(在 2018-03-18发布),而且该版本还修复了大量的bug
参考资料
如果对你有一点帮助,麻烦为我点一个赞,如果没有帮助,也非常期待你的反馈