JDBC Connection [HikariProxyConnection@696959880 wrapping com.mysql.cj.jdbc.ConnectionImpl@3e438f8a] will not be managed by Spring
时间: 2024-04-14 16:19:25 浏览: 230
Spring + jdbc连接
在Spring中,可以将SqlSessionFactory交给Spring来管理。通过配置一个SqlSessionFactoryBean,指定数据源和MyBatis的核心配置文件,Spring会负责创建SqlSessionFactory。然后,在常规的MyBatis DAO开发中,每次都需要通过SqlSessionFactory创建SqlSession来执行数据库操作。而在MyBatis与Spring整合的情况下,可以通过继承SqlSessionDaoSupport类,在DAO实现类中直接调用getSqlSession()方法来获取SqlSession。这样,Spring就会管理这个SqlSession,包括它的生命周期和事务管理。
然而,对于JDBC Connection对象(如上述提到的[HikariProxyConnection@696959880 wrapping com.mysql.cj.jdbc.ConnectionImpl@3e438f8a]),它不会被Spring所管理。它是由连接池(比如HikariCP)创建和管理的,而不是由Spring创建的。因此,Spring无法对这个Connection进行事务管理。在使用这样的连接时,你需要自己负责管理事务,并在需要时手动提交或回滚事务。
阅读全文