本日要分享的是 事情中常用的在Mapper中利用foreach标签批量插入数据的办法,比在Java代码中循环调用Mapper的单条插入性能要赶过很多!
foreach批量插入
MyBatis利用foreach批量插入是一种常见的优化数据库写入性能的方法,它可以将多条插入语句合并为一条批量插入语句,从而减少数据库连接次数和网络传输韶光,提高写入性能!
Mapper:

void batchInsert(@Param("userList") List<User> userList);
Mapper.xml:
<insert id="batchInsert"> insert into user (name, age) values <foreach collection="userList" item="user" separator=","> (#{user.name}, #{user.age}) </foreach></insert>
本例用到了前一天学到的动态SQL foreach标签,collection指向凑集工具userList,item是本次遍历的工具user。
如果有收成,请关注我:天罡gg,一个全网才5万多粉,竟然干了十多年的架构师,后面还有更多干货等着你,加油!