<一>
mybatis中,批量保存的两种方式
1.使用mybatis foreach标签
2.mybatis ExecutorType.BATCH
一:使用mybatis foreach标签
具体用法如下:
<!-- 批量保存(foreach插入多条数据两种方法)
int addEmpsBatch(@Param("emps") List<Employee> emps); -->
<!-- MySQL下批量保存,可以foreach遍历 mysql支持values(),(),()语法 --> //推荐使用
<insert id="addEmpsBatch">
INSERT INTO emp(ename,gender,email,did)
VALUES
<foreach collection="emps" item="emp" separator=",">
(#{emp.eName},#{emp.gender},#{emp.email},#{emp.dept.id})
</foreach>
</insert>
若报错信息为 : Parameter 'list' not found. Available parameters are [lines, param1] ,
即Mapper中方法入参为list集合时, 不需要 @Param(value="")
两种方式详细参考博客: https://www.cnblogs.com/shuaifing/p/9327465.html
foreach 标签属性可参考博客: https://www.cnblogs.com/liaojie970/p/5577018.html
<二>
大数据量的插入与性能问题
参考博客:
https://blog.csdn.net/syy_c_j/article/details/52151402
https://blog.csdn.net/wlwlwlwl015/article/details/50246717#comments