网上很多类似方法,但是都解决不了事物问题,下面是用事物模板来控制的
首先上java方法:
public void batchInsert(final List<Object> dataList) {
final SqlSession session = sqlSessionFactory.openSession(ExecutorType.BATCH,false);
transactionTemplate.execute(new TransactionCallback<String>() {
@Override
public String doInTransaction(TransactionStatus status) {
try {
for (Object value : dataList) {
session.insert("com.pinganfu.mpmt.common.dal.dao.MpmtPayTransDetailDao.insertData",value);//这里传的是包含namespace的sqlId
}
session.commit();
}finally{
session.clearCache();
session.close();
}
return null;
}
});
}
xml中的配置:
<bean id="mpmtPaymentBatchDao" class="com.pinganfu.mpmt.common.dal.dao.impl.MpmtPaymentBatchDaoImpl">
<property name="sqlSessionFactory" ref="sqlSessionFactory" />
<property name="transactionTemplate" ref="transactionTemplate"/>
</bean>
这样的话,技能保证事务性,又能实现批量插入,根据本人的测试,list大小2000效率最高
原创,非抄袭
,转载请注明出处
分享到:
相关推荐
MyBatis批量插入,效率经测试,1000条数据,批量插入和单条插入,执行效率至少快一倍,送上源码,供参考学习
本文给大家分享MyBatis批量插入(insert)数据操作知识,非常不错,具有参考借鉴价值,感兴趣的朋友一起学习吧
主要介绍了Mybatis 中的insertOrUpdate操作,代码简单易懂,非常不错需要的的朋友参考下
Java开发系列MyBatis使用以及实现Java开发系列MyBatis使用以及实现Java开发系列MyBatis使用以及实现Java开发系列MyBatis使用以及实现Java开发系列MyBatis使用以及实现Java开发系列MyBatis使用以及实现Java开发系列...
Java实现Mybatis将数据批量插入到Oracle中
mybaits 多线程 实现数据批量插入 (运用CountDownLatch实现闭锁) 1、mybatis批处理 2、数据分批量查询 3、数据分批量插入
Mybatis批量foreach merge into的用法,这是介绍Mybatis批量foreach merge into的用法的文档
压缩包有eclipse包文件和操作步骤word文档 mybatis数据操作(增删改查+批量操作)
Java实现使用Mybatis将数据批量插入到Oracle数据库,并且可以使用Oracle序列来生成主键
文档中主要说明:(1)多表联合查询步骤,快捷便利;(2)数据批量插入,以及相关的案例,节省运行资源。
mybatis批量添加的时候报错总结报错 parameter'_frch_item_0 not found
只提供代码,自己去下载相关jar包谢谢只提供代码,自己去下载相关jar包谢谢只提供代码,自己去下载相关jar包谢谢只提供代码,自己去下载相关jar包谢谢只提供代码,自己去下载相关jar包谢谢
java中实现mybatis访问数据库
mybatis 框架批量增删改代码 示例 含java与xml
MyBatis 映射器 insert元素 示例Demo
mybatis 批量插入 嵌套select
MyBatis动态SQL,MyBatis批量插入(Oracle数据库)[收集].pdf
Mybatis与JDBC批量插入MySQL数据库性能测试,资源包含文档、代码和数据库。
一、引言Mybatis可以直接传入一个集合,通过标签将集合中的数据遍历出来实现批量新增不同的数据库批量新增有区别,如下实现两种方式的批量新增二、实现2.1映射文
主要介绍了Mybatis批量插入数据返回主键的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧