MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > 精选文章 / 正文

【Mybatis实战第9天】Mybatis批量插入 batchInsert

2025-06-13 13:43 huorong 精选文章 5 ℃ 0 评论

前言

在实际开发中,我们经常需要批量插入大量数据到数据库中,而MyBatis也提供了批量插入的支持,可以大大提高插入效率。

今天要分享的是 工作中常用的在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万多粉,竟然干了十多年的架构师,后面还有更多干货等着你,加油!

Tags:mybatis批量删除

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言