版权声明:本文首发 http://asing1elife.com ,转载请注明出处。 https://blog.csdn.net/asing1elife/article/details/82796574
MyBatis抛出You can’t operate on a closed Connection!!!
有时候通过 Session 获取数据库连接时为空
更多精彩
- 更多技术博客,请移步 asing1elife’s blog
碰到的问题
- 一般通过以下方式获取数据库连接
- 但有时候会出现获取不到连接,从而抛出 You can’t operate on a closed Connection!!! 的异常
Connection connection = this.SqlSession().getConnection();
解决的方式
- 使用以下方式获取数据库连接可保证获取的连接存在与事务中不会莫名丢失
SqlSessionTemplate st = (SqlSessionTemplate) this.getSqlSession();
SqlSession session = SqlSessionUtils.getSqlSession(st.getSqlSessionFactory(), st.getExecutorType(), st.getPersistenceExceptionTranslator());
Connection connection = session.getConnection();