郑州英语网站建设,专门做孕婴用品的网站,长沙平面设计公司都有哪些,谷歌google不能访问造成wordpress打开缓慢SqlSession 线程安全问题
当你翻看 SqlSession 的源码时#xff0c;你会发现它只是一个接口。我们通过 MyBatis 操作数据库#xff0c;实际上就是通过 SqlSession 获取一个 JDBC 链接#xff0c;然后操作数据库。
SqlSession 接口有 3 个实现类#xff1a;
#实现类1Defa…
SqlSession 线程安全问题
当你翻看 SqlSession 的源码时你会发现它只是一个接口。我们通过 MyBatis 操作数据库实际上就是通过 SqlSession 获取一个 JDBC 链接然后操作数据库。
SqlSession 接口有 3 个实现类
#实现类1DefaultSqlSession2SqlSessionManager3SqlSessionTemplate在 mybatis-spring 包中
其中 DefaultSqlSession 的注释中很直接地标识Note that this class is not Thread-Safe. 。 SqlSessionManager 最终用到的也是 SqlSession 因此它也是 not Thread-Safe 。 SqlSessionTemplate 倒是线程安全的但是它在 mybatis-spring 包中是用在 mybatis 和 spring 整合中的暂时用不上。
因此SqlSession 不应该是单例的于此同时依赖于 session 的 Mapper 要么也应该是多例的要么就要用上 ThreadLocal