Mybatis 批量插入数据
前言
在很多业务场景中,我们需要批量录入数据。那么意味着我们需要以最高效的方式去实现功能,同时也需要保证软件的便捷性与可维护性,开源字节使用 MyBatis foreach 标签方式优雅的实现了材料的出入库。源码开放,可前往码云仓库免费获取。
MyBatis 简介
MyBatis 是一个支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索封装。MyBatis 可以使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJO(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录。
Mybatis 的三种批量插入方式
1、循环插入
复制代码
2、foreach 标签
复制代码
3、批处理
复制代码
三种插入方式在不同数据量下的表现,测试结果:
三种方式中,批处理的方式效率是最高的,尤其是在数据量大的情况下尤为明显。其次是 foreach 标签,foreach 标签是通过拼接 SQL 语句的方式完成批量操作的。但是当拼接的 SQL 过多,导致 SQL 大小超过了 MySQL 服务器中 max_allowed_packet 变量的值时,会导致操作失败,抛出 PacketTooBigException 异常。最后是循环插入的方式,这种方式在数据量小的时候可以使用,在数据量大的情况下效率要低很多。
如若转载,请注明出处:开源字节 https://sourcebyte.cn/article/243.html
评论