// 获取sqlSession工厂,sqlSessionFactory是配置文件中配置的数据库连接bean
SqlSessionFactory sqlSessionFactory = SpringContextHolder.getBean("sqlSessionFactory");
// 获取批处理数据源,false表示手动提交事务
SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
try {
// 获取需要批处理的mapper
FundFlowDAO fundFlowDAO = sqlSession.getMapper(FundFlowDAO.class);
// 批量处理集合
fundFlowDAO.batchInsertFundFlow(insertFundFlowList);
sqlSession.commit();
} catch (Throwable e) {
LogUtil.error(logger, e.toString());
sqlSession.rollback();
} finally {
if (sqlSession != null) {
sqlSession.close();
}
LogUtil.info(logger, "endTime===" + (System.currentTimeMillis() - startTime) / 1000);
}
/**
* hongshiwl.com Inc.
* Copyright (c) 2015-2016 All Rights Reser
mybatis批处理解决事务超时问题
最新推荐文章于 2024-01-21 03:38:19 发布
本文探讨了在使用MyBatis进行批处理时遇到的事务超时问题,并提出了一种优化策略。通过调整事务隔离级别、增大事务超时时间和合理拆分批量操作,可以有效地避免事务超时,同时保持系统的稳定性和性能。
摘要由CSDN通过智能技术生成