MySQL批量插入数据的几种方式

        最近在项目中遇到了批量插入数据的一些问题,一般图省事都是利用mybatis或mybatis-plus的saveBatch方法,但这次因为数据过多,出现了一系列的问题,只能手动处理,接下来分享下对于数据量比较大的批量插入,可能遇到的几个问题和处理方式:

1、saveBatch方法默认的是插入1000条数据,如果你的数据量超过1000条,还是想用这个方法的话,就需要指定数量,例如:

List<Student> list = new ArrayList<>();
//向集合中放入5000条数据, 根据实际情况来
// ...super.saveBatch(list, list.size())

2、因为saveBatch方法其实执行的还是循环insert插入,并且在insert语句中会包含表字段,如果你的表相对复杂,数据量过大的情况下可能导致超过MySQL允许的传输上限,具体的值我忘了,有兴趣可以查询了解下,导致发生异常回滚,这时候,你还是懒得写sql,那么就只能分批处理了,按你自己的情况制定合理的批数据量,然后进行如下操作:

List<Student> list = new ArrayList<>();
//向集合中放入5000条数据, 根据实际情况来
// ...int batchSize = 1000;
int size = list.size();
for (int i = 0; i < size; i += batchSize) {int end = Math.min(i + batchSize, size);List<Student> subList = list.subList(i, end);super.saveBatch(subList);
}

3、上边都是一些懒人做法,最佳的方式还是自己写xml的insert语句,但是也要注意数据量,特别巨大的时候,还是要分批进行,这种情况一般少一些,大部分项目场景遇不到

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/43625.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python的魔法方法

python类中的self是什么&#xff1f; 对象的方法都会有一个self参数&#xff0c;类比于c&#xff0c;self就相当于c的this指针。 由一个类可以生成无数个对象&#xff0c;当一个对象的方法被调用时&#xff0c;对象会讲自身的引用作为第一个参数传给该方法&#xff0c;那么pyt…

CTF-PWN-kernel-栈溢出(retuser rop pt_regs ret2dir)

文章目录 参考qwb2018 core检查逆向调试打包上传测试脚本retuserkernel ropinit_credcommit_creds( prepare_kernel_cred(0) )开启KPTI利用swapgs_restore_regs_and_return_to_usermode开启KPTI利用SIGSEGVrop设置CR3寄存器再按照没有KPTI返回 kernel rop ret2userpt_regs 构造…

2024年浙江省高考分数一分一段数据可视化

下图根据 2024 年浙江高考一分一段表绘制&#xff0c;可以看到&#xff0c;竞争最激烈的分数区间在620分到480分之间。 不过&#xff0c;浙江是考两次取最大&#xff0c;不是很有代表性。看看湖北的数据&#xff0c;580分到400分的区段都很卷。另外&#xff0c;从这个图也可以…

RTOS系统 -- FreeRTOS之任务调度

FreeRTOS中的任务调度 背景介绍 FreeRTOS是一种轻量级的实时操作系统&#xff0c;被广泛应用于嵌入式系统中。它提供了多任务管理功能&#xff0c;包括任务创建、任务调度和任务切换。FreeRTOS的调度器根据任务的优先级和状态自动调度任务&#xff0c;确保系统资源的有效利用…

独立站优势及吸引力分析

随着全球化贸易的不断深入&#xff0c;越来越多的厂商开始寻求更广阔的市场和更高效的销售渠道。独立站作为企业自有的电商网站&#xff0c;正逐渐成为海外贸易的新宠。本文将分析独立站的优势及其对厂商的吸引力&#xff0c;鼓励厂商以建立独立站的方式出海。 一、独立站的定义…

el-image放大图片功能

1.需求&#xff1a;点击图片后放大图片 html代码&#xff1a; <el-imagestyle"width: 100px; height: 100px":src"baseUrl item.id":zoom-rate"1.2":max-scale"7":min-scale"0.2":preview-src-list"srcList"…

Xilinx FPGA UltraScale SelectIO 接口逻辑资源

目录 1. 简介 2. Bank Overview 2.1 Diagram 2.2 IOB 2.3 Slice 2.4 Byte Group 2.5 I/O bank 示例 2.6 Pin Definition 2.7 数字控制阻抗(DCI) 2.8 SelectIO 管脚供电电压 2.8.1 VCCO 2.8.2 VREF 2.8.3 VCCAUX 2.8.4 VCCAUX_IO 2.8.5 VCCINT_IO 3. 总结 1. 简介…

Vue利用递归的方法,根据id获取对应的字段名(树形数据)

树形数据源 options:[{ancestors: "0",code: "99",id: "99",name: "测试部门1",parentId: "0",children: [{ancestors: "0,99",code: "test",id: "1720269456426344449",name: "测试子部…

【国潮】软件本土化探索

文章目录 一、国产-操作系统银河麒麟&#xff08;Kylin&#xff09;操作系统华为鸿蒙系统&#xff08;HarmonyOS&#xff09;统信UOS深度Deepin 二、国产-服务器华为鲲鹏&#xff1a;飞腾&#xff1a;海光&#xff1a;兆芯&#xff1a;龙芯&#xff1a;申威&#xff1a; 三、国…

Redis学习 - 基础篇

Redis学习 - 基础篇 一. 简介 Redis 是一个高性能的key-value数据库&#xff0c;常用的数据类型如下&#xff1a;string&#xff0c;list&#xff0c;set&#xff0c;zset&#xff0c;hash 二. 安装 Widows和Linux下如何安装Redis-CSDN博客 三. 常用命令 配置及数据库操作…

《信息技术与信息化 》是什么级别的期刊?是正规期刊吗?能评职称吗?

问题解答 问&#xff1a;《信息技术与信息化 》是不是核心期刊&#xff1f; 答&#xff1a;不是&#xff0c;是知网收录的第一批认定学术期刊。 问&#xff1a;《信息技术与信息化 》级别&#xff1f; 答&#xff1a;省级。主管单位&#xff1a;山东省科学技术协会 主办单…

国内磁性器件核心企业『云路新能源』携手企企通正式启动SRM项目,供应链竞争力再上新台阶

近日&#xff0c;珠海黎明云路新能源科技有限公司&#xff08;以下简称“云路新能源”&#xff09;携手企企通启动SRM数字化采购供应链管理项目&#xff0c;双方相关负责人与项目组成员出席本次启动会。 本次采购数字化项目建设&#xff0c;企企通将助力云路新能源实现采购全场…

智能无人数字直播间 打造24小时的无人直播间源码系统 带网站的安装代码包以及搭建教程

系统概述 智能无人数字直播间系统是一种基于人工智能技术的软件工具&#xff0c;它结合了高精度扫描建模、自动化控制、多模态生成等多项先进技术&#xff0c;能够实现对真实人物的高度仿真&#xff0c;并自主执行各类直播任务。该系统不仅支持24小时不间断直播&#xff0c;还…

微信小程序引入自定义子组件报错,在 C:/Users/***/WeChatProjects/miniprogram-1/components/路径下***

使用原生小程序开发时候&#xff0c;会报下面的错误&#xff0c; [ pages/button/button.json 文件内容错误] pages/button/button.json: [“usingComponents”][“second-component”]: “…/…/components/second-child/index”&#xff0c;在 C:/Users/***/WeChatProjects/m…

Windows 中修改 MySQL 密码

没想到这样一个简单的需求&#xff0c;愣是试了半天没试到有用的命令&#xff0c;最后终于找到一个有用的&#xff0c;在此做个记录&#xff1a; set password for rootlocalhost 你的新密码;

【C++与python】| splice语法对比列表切片

splice用法详解 C 中的 splice示例 1&#xff1a;将整个列表 lst2 插入到 lst1 中某个位置示例 2&#xff1a;将 lst2 的一个元素插入到 lst1 中某个位置 Python中的列表切片&#xff08;Slicing&#xff09;示例 1&#xff1a;获取列表的子列表示例 2&#xff1a;修改列表的子…

禅道二次开发——禅道zentaoPHP框架扩展机制——对视图层(view)扩展

视图文件的扩展分为两种方式&#xff0c;一种是完全覆盖&#xff0c;第二种是通过钩子机制来扩展。 一、完全覆盖 视图文件的覆盖可以通过完全覆盖的方式来重新定义。比如我对bug模块的create页面进行扩展。原来的视图文件是存放在module/bug/view/create.html.php。如果需要…

Android约束布局的概念与属性(2)

目录 3&#xff0e;链式约束4&#xff0e;辅助线 3&#xff0e;链式约束 如果两个或以上控件通过下图的方式约束在一起&#xff0c;就可以认为是他们是一条链&#xff08;如图5为横向的链&#xff0c;纵向同理&#xff09;。 图5 链示意图 如图5所示&#xff0c;在预览图中选…

解读网络安全公司F5:助企业高效简化多云和应用部署

伴随企业加速数字化转型工作、扩展到新的基础设施环境并采用微服务架构&#xff0c;企业正拥抱混合和多云基础设施所带来的灵活性。Ernst & Young调查数据显示&#xff0c;84%的企业正处于向现有网络安全解决方案套件添加多种新技术的早期阶段。企业同样意识到&#xff0c;…

nftables(3)表达式(1)数据类型

简介 前面文章主要介绍的是nftables的基本原理和基础的配置&#xff0c;如nftables基本的表、链、规则的创建和管理。本篇文章主要介绍的是表达式EXPRESSIONS。 在网络安全和数据处理中&#xff0c;表达式&#xff08;Expressions&#xff09;扮演着非常重要的角色。它们用于…