在公司ERP项目开发中,遇到批量数据插入或者更新,因为每次连接数据库比较耗时,所以决定改为批量操作,提升效率。库存盘点导入时,需要大量数据批量操作。
1:数据库连接代码中必须开启批量操作。加上这句,&allowMultiQueries=true,完整的如下:
jdbc:mysql://localhost:3306/jeesite2016?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true
2:批量更新 ,注意update的separator是;,和批量插入的不一样。
<update id="batchUpdateQuantity" parameterType="java.util.List"> <foreach collection="list" item="item" index="index" open="" close="" separator=";"> update erp_store <set> quantity=#{item.quantity}, update_date=#{item.updateDate} </set> where id = #{item.id} </foreach> </update>
经测试,一共1662条数据,批量插入用时466ms,循环单独插入用时1898ms。可以批量操作效率高很多。
3、批量插入
<insert id="batchInsert"> INSERT INTO erp_store_detail( id, store_id, type, change_quantity, after_quantity, update_date, remarks, link_id ) VALUES <foreach collection="list" item="item" index="index" separator="," > ( #{item.id}, #{item.store.id}, #{item.type}, #{item.changeQuantity}, #{item.afterQuantity}, #{item.updateDate}, #{item.remarks}, #{item.linkId} ) </foreach> </insert>
相关推荐
Mybatis Plus 自定义批量插入或批量更新(根据唯一索引)
使用方法请看博客 https://blog.csdn.net/bandaotixiruiqiang/article/details/72478361#comments_12931827
Mybatis与JDBC批量插入MySQL数据库性能测试,资源包含文档、代码和数据库。
Java实现使用Mybatis将数据批量插入到Oracle数据库,并且可以使用Oracle序列来生成主键
使用方法请看博客https://blog.csdn.net/bandaotixiruiqiang/article/details/72478361#comments_12931827
只提供代码,自己去下载相关jar包谢谢只提供代码,自己去下载相关jar包谢谢只提供代码,自己去下载相关jar包谢谢只提供代码,自己去下载相关jar包谢谢只提供代码,自己去下载相关jar包谢谢
Java实现Mybatis将数据批量插入到Oracle中
通过foreach实现ibatis的批量插入
MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。这篇文章主要介绍了mybatis中批量插入的两种方式(高效插入)的相关资料,非常不错,具有参考借鉴价值,感兴趣的朋友一起看看吧
mybatis 批量插入 嵌套select
文档中主要说明:(1)多表联合查询步骤,快捷便利;(2)数据批量插入,以及相关的案例,节省运行资源。
mybatispuls3.5使用批量插入
主要介绍了spring中使用mybatis实现批量插入的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
MyBatis批量插入,效率经测试,1000条数据,批量插入和单条插入,执行效率至少快一倍,送上源码,供参考学习
自定义版mybatis-generator代码生成插件mybatis-generator代码生成插件,实体中文注释,能生成批量插入和批量修改,一对多,多对多
MyBatis动态SQL,MyBatis批量插入(Oracle数据库)[收集].pdf
mybatis批量添加的时候报错总结报错 parameter'_frch_item_0 not found
本文给大家分享MyBatis批量插入(insert)数据操作知识,非常不错,具有参考借鉴价值,感兴趣的朋友一起学习吧
跨库批量插入
利用MyBatis动态SQL的特性,我们可以做一些批量的操作,下面这篇文章主要给大家介绍了关于Oracle + Mybatis实现批量插入、更新和删除的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来...