当前位置: 首页 > news >正文

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

http://www.mrgr.cn/news/44947.html

相关文章:

  • Java之Native详解
  • 动态规划算法——三步问题
  • 图论day55|深度优先搜索理论基础、98. 所有可达路径(卡码网)
  • 数据库中,如何查询表中的所有记录?
  • 基于LORA的一主多从监测系统_前言
  • VLAN 和 ARP 表
  • Observer(观察者模式)
  • Spring Cache 的说明及常用注解
  • 并查集的模拟实现
  • BMC pam认证的使用
  • LeetCode1049:最后一块石头的重量
  • IDEA搭建JDK1.8源码调试环境
  • Android架构--MVVM
  • Linux操作系统——概念扫盲I
  • Django学习笔记十四:系统框架总结
  • 分治算法(4)_快速选择_库存管理III_面试题
  • [运维]5.镜像本地存在但仍然从网络拉取的问题
  • 【Linux】自主shell编写
  • Nginx06-静态资源部署
  • 链表排序