MyBatis 批量插入方案

MyBatis 批量插入

MyBatis 插入数据的方法有几种:

  1. for 循环,每次都重新连接一次数据库,每次只插入一条数据。

  2. 在编写 sql 时用 for each 标签,建立一次数据库连接。

  3. 使用 MyBatis 的 batchInsert 方法。

下面是方法 1 和 2 的对比:

image-20241007202010088

在数据量较少的时候,比如几十条,可以使用方法 2。

在数据量较大且一定要用方法 2 的时候,可以在 Java 应用层面实现分批次插入。一般按经验来说,一次性插 20~50 行数量是比较合适的

此外,在数据量较大的情况下,可以试着使用方法3。但要注意,使用方法 3 时要在 jdbc 连接加参数:rewriteBatchedStatements = true。

总结

根据具体的场景选择批量插入方法。

此外,在批处理的时候需要考虑一下事务的问题。

参考

  • https://www.sharkchili.com/pages/8741fd/#%E6%9B%B4%E5%A4%9A
  • https://www.bilibili.com/video/BV1r34y1W7EL/?spm_id_from=333.337.search-card.all.click&vd_source=4ff9648053bdeaa78d9709d0feb72bd0
  • https://blog.csdn.net/huanghanqian/article/details/83177178
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值