首页 > 其他分享 >MyBatis 批量插入方案

MyBatis 批量插入方案

时间:2024-10-07 21:50:44浏览次数:9  
标签:www 批量 插入 数据量 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

标签:www,批量,插入,数据量,MyBatis,方法
From: https://blog.csdn.net/weixin_43987408/article/details/142747301

相关文章

  • 信息学奥赛复赛复习13-CSP-J2021-02插入排序-排序稳定性、插入排序、sort排序、结构体
    PDF文档公众号回复关键字:202410061P7910[CSP-J2021]插入排序[题目描述]插入排序是一种非常常见且简单的排序算法。小Z是一名大一的新生,今天H老师刚刚在上课的时候讲了插入排序算法。假设比较两个元素的时间为O(1),则插入排序可以以O(n^2)的时间复杂度完成长度为......
  • Mybatis-flex代替繁琐的JPA
    1.前言最近在新的SpringBoot项目中采用JPA来作为数据库的持久层。刚开始得益于Spring框架自带,IDEA也有丰富的支持;可以自行匹配数据库字段,接口中方法可以直接提示,支持JPQL,原生SQL等方式。写起来也是非常顺手。但是当业务中有一些复杂一点的需求,在JPA中实现就非常麻烦,且不直观。......
  • 【2024计算机毕业设计】基于jsp+mysql+Spring+mybatis的SSM药品进货销售仓储信息管理
    运行环境:最好是javajdk1.8,我在这个平台上运行的。其他版本理论上也可以。IDE环境:Eclipse,Myeclipse,IDEA或者SpringToolSuite都可以,如果编译器的版本太低,需要升级下编译器,不要弄太低的版本tomcat服务器环境:Tomcat7.x,8.x,9.x版本均可操作系统环境:WindowsXP/7......
  • ChatBot: 通过高性能LLM批量产生Character
    基于LLM创建Character,能够实现ChatBot社区的AGI吗?如果高性能的LLM能够产生中高质量的提示词并且被低性能但廉价的LLM使用,那么就有了很大的使用价值.怎么定义一个Character我认为至少需要以下几个内容:Name:Thenamecanincludefirstandlastnames.(3-40characters......
  • ChatBot: 通过高性能LLM批量产生Character
    基于LLM创建Character,能够实现ChatBot社区的AGI吗?如果高性能的LLM能够产生中高质量的提示词并且被低性能但廉价的LLM使用,那么就有了很大的使用价值.怎么定义一个Character我认为至少需要以下几个内容:Name:Thenamecanincludefirstandlastnames.(3-40characters......
  • 帝国CMS 批量修改字段内容sql语句
    在帝国CMS后台执行SQL语句批量修改数据时,可以通过以下步骤进行操作。这里提供了一些通用的SQL语句示例,不包含具体的网址。步骤说明登录帝国CMS后台。进入系统管理。执行SQL语句。具体操作步骤登录帝国CMS后台:登录帝国CMS后台管理界面。进入系统管理:进入 系统 ......
  • 怎样把两个视频合并成一个视频?批量合并视频看好这6个工具!
    ★ 怎样把两个视频合并成一个视频?随着视频内容的日益丰富,我们常常需要将多个视频片段合并成一个完整的视频文件,不管将2个视频合并拼接到一个进行播放,还是直接合并2个短视频变成长视频,都可以通过这6个工具进行处理。无论你是视频编辑新手还是经验丰富的创作者,选择合适的工具......
  • 谷歌收录批量查询,谷歌收录批量查询的方法步骤
    谷歌收录批量查询是网站管理员和SEO专家常用的一种方法,用于同时查询多个页面或网站在谷歌搜索引擎中的收录情况。以下是几种常见的谷歌收录批量查询方法及其步骤:一、使用GoogleSearchConsole(谷歌搜索控制台)虽然GoogleSearchConsole主要面向单个网站的监控和管理,但它提供了......
  • 测试H7-TOOL的CANFD助手J1939批量数据传输连续运行30个小时稳定不丢包
    根据客户需求做的一个不断电连续运行测试。测试条件1、H7-TOOL的CAN/CANFD助手控制一个节点设备2、使用J1939协议3、经典CAN方式,波特率250KbpsJ1939测试命令,250ms一次发送接收测试昨天下午三点到今晚9点半,共计30个小时不断电连续测试,实时记录的文件:现在还在持续运行的......
  • 支持 enum 类型的字段允许为空插入数据库
    支持 enum 类型的字段允许为空插入数据库,我们需要对现有代码进行一些修改。具体来说,我们需要在处理每一行数据时判断每个字段的类型,并在插入时正确处理 NULL 值。以下是修改后的代码示例://备份数据记录$result=Db::query("SELECT*FROM`{$table}`LIMIT{$start},100......