Mybatis两种不同批量插入方式的区别有哪些
发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,小编给大家分享一下Mybatis两种不同批量插入方式的区别有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!前言本文使用 Mybatis 进行批量插入,比较两种不同的插入方式的区别
千家信息网最后更新 2025年11月12日Mybatis两种不同批量插入方式的区别有哪些前言
测试
拼接 sql
batch插入
小编给大家分享一下Mybatis两种不同批量插入方式的区别有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
前言
本文使用 Mybatis 进行批量插入,比较两种不同的插入方式的区别。
测试
批量插入注意事项:
1、连接数据库时添加参数 allowMultiQueries=true,支持多语句执行,批处理
2、数据库是否支持大量数据写入,设置 max_allowed_packet参数保证批次提交的数据量
拼接 sql
public void batchDemo() { long start = System.currentTimeMillis(); List list = new ArrayList<>(); for (int i = 0; i < 5000; i++) { User user = new User(); user.setId(UUID.randomUUID().toString()); user.setName("feiyangyang"); user.setPwd("feiyangyang"); list.add(user); } userService.batchForeach(list); long end = System.currentTimeMillis(); System.out.println("---------------" + (start - end) + "---------------"); } insert into user(id,`name`,pwd) values (#{user.id}, #{user.name}, #{user.pwd})
batch插入
public void batchInsert() { long start = System.currentTimeMillis(); SqlSession sqlSession = sqlSessionTemplate.getSqlSessionFactory().openSession(ExecutorType.BATCH); UserService mapper = sqlSession.getMapper(UserService.class); for (int i = 0; i < 5000; i++) { User user = new User(); user.setId(UUID.randomUUID().toString()); user.setName("feiyangyang"); user.setPwd("feiyangyang"); mapper.batchInsert(user); } sqlSession.commit(); long end = System.currentTimeMillis(); System.out.println("---------------" + (start - end) + " ---------------");}注意:batch模式也有自己的问题,比如在Insert操作时,在事务没有提交之前,是没有办法获取到自增的id,这在某型情形下是不符合业务要求的
数据对比
| 拼接sql (ms) | batch插入 (ms) | |
|---|---|---|
| 500条 | 1744 | 639 |
| 2000条 | 26966 | 2473 |
| 5000条 | 173668 | 7382 |
看完了这篇文章,相信你对"Mybatis两种不同批量插入方式的区别有哪些"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!
数据
不同
方式
参数
数据库
篇文章
支持
业务
事务
事项
前言
办法
完了
情形
批次
更多
模式
注意事项
知识
行业
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
和平精英体验服更新服务器时间
数据库控制技术视频
网络安全宣传活动作用
苹果操作系统 软件开发
小白也能做家庭服务器
山西科冠软件开发有限公司
为什么要设计数据库er图
2021第五空间网络安全大赛
远程服务器ip安全策略
数据库语句脚本 like
5g手机网络安全技术
从事软件开发需要什么许可
orcal数据库驱动下载
软件开发专利解析
软件开发应该采用什么招标
达芬奇怎么恢复数据库
在哪里看明日之后的服务器
神州信息是否属于网络安全
vga服务器
家里网络安全性
cs1.6服务器管理插件
在数据库中对数据进行删除的是
服务器更新换代的速度
大数据环境下面临的网络安全
工业信息证 网络安全
访问医保核心业务区网络安全
计算机还是网络安全
中国中小企业调查数据库
页面点击查询显示数据库
京东软件开发工作时间