Mybatis两种不同批量插入方式的区别有哪些
发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,小编给大家分享一下Mybatis两种不同批量插入方式的区别有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!前言本文使用 Mybatis 进行批量插入,比较两种不同的插入方式的区别
千家信息网最后更新 2025年01月25日Mybatis两种不同批量插入方式的区别有哪些前言
测试
拼接 sql
batch插入
小编给大家分享一下Mybatis两种不同批量插入方式的区别有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
前言
本文使用 Mybatis 进行批量插入,比较两种不同的插入方式的区别。
测试
批量插入注意事项:
1、连接数据库时添加参数 allowMultiQueries=true,支持多语句执行,批处理
2、数据库是否支持大量数据写入,设置 max_allowed_packet参数保证批次提交的数据量
拼接 sql
public void batchDemo() { long start = System.currentTimeMillis(); Listlist = 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安全错误
数据库的锁怎样保障安全
剑侠世界什么时候开新服务器
深证小鹅网络技术
网络安全宣传图卡通
初越杯网络技术大赛
科技战役互联网医疗借势破局
上海致骋互联网科技
北京会计软件开发要求
网络安全保护有哪些
王景争 软件开发
共享服务器ip找不到
资讯科技属于互联网企业吗
lol中哪些服务器在四川
k22r-02服务器功率
数据库需要学哪些语言
关注网络安全 建设活动
广州软件开发定制聚顶科技好
北京智能照明软件开发费用
福建易达通网络技术有限公司
八串口服务器
数据库娱乐k333OO判官
成都上位机软件开发招聘
没有可用的服务器列表请检查网络
福州网络安全保卫支队
秦淮区网络软件开发
小型数据库在哪买
查看代理服务器bat
h1z1大逃杀服务器ip
谈谈对数据库的安全
军人网络安全容易出现的问题
软件开发和检测做些啥