mybatis批量插入数据list超过一定长度时报错的解决办法(批量插入数据,数据过多时报错解决和批量修改报错

news/2024/11/22 16:18:58/

在使用MyBatis进行批量新增时,如果数据量较大,可以考虑分批次插入以减少数据库的负载压力。这里提供一种基于MyBatis的分批次插入的方法:

  1. 创建一个新的Mapper XML文件(例如:BatchInsertMapper.xml)来定义批量插入的SQL语句。在该XML文件中,添加如下内容:
<!-- 参数为List类型,使用foreach循环插入每个对象 -->
<insert id="batchInsert" parameterType="java.util.List">INSERT INTO your_table (column1, column2, ...)VALUES<foreach collection="list" item="item" separator=",">(#{item.property1}, #{item.property2}, ...)</foreach>
</insert>

 

请将上述代码中的your_table替换为你的目标表名,并根据实际情况指定要插入的列和属性。

        2.在对应的Mapper接口中声明批量插入的方法。添加如下代码:

public interface YourMapper {void batchInsert(List<YourEntity> entities);
}

 请将上述代码中的YourMapper替换为你的Mapper接口名和YourEntity替换为你的实体类名。

          3.在你的服务类或其他逻辑代码中,注入该Mapper并调用批量插入方法。例如:

@Autowired
private YourMapper yourMapper;public void batchInsertData(List<YourEntity> dataList) {int batchSize = 1000; // 指定每批次插入的数据量for (int i = 0; i < dataList.size(); i += batchSize) {int endIndex = Math.min(i + batchSize, dataList.size());List<YourEntity> batchList = dataList.subList(i, endIndex);yourMapper.batchInsert(batchList);}
}

实话实说优化效率嘎嘎的,看数据量的大小,如果每条数据的数据量很大,建议把batchSize改的小一点。

请将上述代码中的YourEntity替换为你的实体类名,并根据需要调整batchSize的大小。

这样,通过循环遍历将数据列表分割为批次,并调用批量插入的方法,就可以实现分批次插入的功能。

希望对你有所帮助!

如果说是批量修改报错,

eg:update d_access_history_page set line_name = ? where line_id = ? ; update d_access_page set line_name = ? where line_id = ? ;
这种报错,报错是因为没有开启批量更新,不开启批量更新只允许操作一条,想要批量操作就要在数据库配置文件中的url后边增加&allowMultiQueries=true(在数据的配置后面加上他eg:

mysql.db-name}?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false&allowMultiQueries=true )

 


http://www.ppmy.cn/news/876635.html

相关文章

宝塔安装勾股OA系列服务

勾股oa地址 勾股OA办公系统—开源的OA办公系统 一、服务器配置 二、安装宝塔 1.下载宝塔面板、设置宝塔面板、增加网站。 yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec 根据提示…

计算机信息系统安全专用产品许可证信息查询

http://www.ispl.cn/ispl/jsp/common/ProductList_Public.jsp

计算机网络信息安全毕业设计题目,网络信息安全系统毕业设计

内容介绍 原文档由会员 霜天盈月 发布 网络信息安全系统毕业设计 本文共计15页&#xff0c;12124字&#xff1b; 摘要 随着计算机技术的不断发展&#xff0c;计算机网络已经成为信息时代的重要特征&#xff0c;人们称它为信息高速公路。网络是计算机技术和通信技术的产物&#…

中国计算机安全水平,我国计算机信息系统安全保护的五个等级

计算机信息系统安全等级保护标准体系包括&#xff1a;信息系统安全保护等级划分标准、等级设备标准、等级建设标准、等级管理标准等&#xff0c;是实行等级保护制度的重要基础。按照《计算机信息系统安全保护等级划分准则》规定的规定&#xff0c;我国实行五级信息安全等级保护…

我国计算机信息系统安全保护工作的重点是,网络信息安全知识:计算机信息系统的安全保护工作,重点维护国家事务、经济建设、国防建设、尖端科学技术等重要领域的()的安全。...

相关题目与解析 1994年2月18日《中华人民共和国计算机信息系统安全保护条例》颁布&#xff0c;我国公共信息网络安全监察工 重要领域计算机信息系统安全保护工作是指公安机关公共信息网络安全监察部门对______等重要领域 下列属于公共信息网络安全监察具体目标的是&#xff1a;…

计算机与信息安全的基本知识,信息安全的基本常识

信息安全定义 从信息安全所涉及层面的角度进行描述&#xff0c;计算机信息安全定义为&#xff0c;保障计算机及其相关的和配套的设备、设施(网络)的安全&#xff0c;运行环境的安全&#xff0c;保障信息安全&#xff0c;保障计算机功能的正常发挥&#xff0c;以维护计算机信息系…

信息安全概述

一 、信息安全基本概念 1. 信息安全的含义 影响信息的正常存储、传输和使用&#xff0c;以及不良信息的散布问题属于信息安全问题。 ISO提出信息安全的定义是&#xff1a;为数据处理系统建立和采取的技术及管理保护&#xff0c;保护计算机硬件、软件、数据不因偶然及恶意的原因…

什么叫计算机信息集成,信息系统集成是什么

信息系统集成是通过结构化的综合布线系统和计算机网络技术&#xff0c;将各个分离的设备、功能和信息等集成到相互关联的、统一和协调的系统之中&#xff0c;使资源达到充分共享&#xff0c;实现集中、高效、便利的管理。采用功能集成、网络集成、软件界面集成等多种集成技术。…