spring mybatis batch操作时关闭sqlsession
来源:互联网 发布:电脑安装网络调试等 编辑:程序博客网 时间:2024/05/21 06:12
在利用mybatis 的sqlsession,批处理方式打开session,例如
public <T> void batchdelete(Collection<T> dataList, final SingleProcessor<T> processor) { final SqlSession session = getGenericSqlSessionFactory().openSession(ExecutorType.BATCH); int i = 0; for (T data : dataList) { processor.process(session, data); if (++i == DEFAULT_COMMIT_COUNT) { i = 0; session.commit(); } } if (i != 0) { session.commit(); } session.close(); }
注意关闭session,若不关闭会很快把数据库链接耗完,导致所有DB操作异常。
存在另一种情况,外层有@Transaction事务管理,此时事务提交后spring也会把connection关闭。
DataSourceUtils:
public static void releaseConnection(Connection con, DataSource dataSource) {try {doReleaseConnection(con, dataSource);}catch (SQLException ex) {logger.debug("Could not close JDBC Connection", ex);}catch (Throwable ex) {logger.debug("Unexpected exception on closing JDBC Connection", ex);}}
阅读全文
0 0
- spring mybatis batch操作时关闭sqlsession
- MyBatis-Spring-SqlSession
- MyBatis-Spring-SqlSession
- MyBatis-Spring-SqlSession
- mybatis-spring深入学习之SqlSession
- MyBatis集合Spring(二)之SqlSession
- spring整合mybatis sqlSession释放问题
- Mybatis-Spring 的高级配置(SqlSession)
- spring整合mybatis sqlSession释放问题
- Mybatis SqlSession
- mybatis sqlsession
- MyBatis sqlSession
- Mybatis源码(二)之Spring整合mybatis创建SqlSession
- spring和mybatis整合,spring获取sqlsession对象
- Spring Transaction + MyBatis SqlSession事务管理机制研究学习
- Spring Transaction + MyBatis SqlSession事务管理机制研究学习
- Spring Batch 操作 CSV file
- Spring Batch之FlatFile操作
- bzoj4990 [Usaco2017 Feb]Why Did the Cow Cross the Road II(dp+树状数组)
- 正则表达式
- c语言中的数据类型
- AngularJs路由与添加用户(1)
- 数组的螺旋式打印
- spring mybatis batch操作时关闭sqlsession
- Linux基础练习题(7)
- 数据分析-Numpy模块
- 数据结构 顺序表
- Type C转console安卓手机配置线
- Sturts2提交表单到数据库后乱码
- 数组旋转
- 中缀表达式转化为后缀表达式,并计算结果
- Josephus again HDU