mybatis底层使用JDBC事务操作进行事务管理,所以在spring声明式事务管理中配置mybatis使用DataSoureceTransactionManager(jdbc事务管理),配置传入一个dataSource(链接池),
当方法调用结束后(事务结束)spring只会将该线程绑定的connection关闭(放回链接池),并没有将SqlSession对象关闭,所以mybatis即使配置spring声明式事务管理也建议手动将SqlSession关闭!
当方法调用结束后(事务结束)spring只会将该线程绑定的connection关闭(放回链接池),并没有将SqlSession对象关闭,所以mybatis即使配置spring声明式事务管理也建议手动将SqlSession关闭!