首页 > TAG信息列表 > SqlSessionManager
SqlSession与SqlSessionFactory到底是什么关系?
1. SqlSession和SqlSessionFactory的接口定义 SqlSession: public interface SqlSession extends Closeable { <T> T selectOne(String var1); <T> T selectOne(String var1, Object var2); <E> List<E> selectList(String var1);Mybatis原理
1. SqlSessionFactory 2.SqlSession sqlSession实现类有:DefaultSqlSession , SqlSessionManager SqlSessionFactory 实现类:DefaultSqlSessionFactory和 SqlSessionManager 根据DefaultSqlSession源码可以知道 似乎一切的一切,都是从配置对象Configuration中取出材料来 委托执行Mybatis源码分析:SqlSessionManager
SqlSessionManager SqlSessionManager本身实现了SqlSessionFactory, SqlSession两个接口,所以本身能够构建Sqlsession和使用Sqlsesion声明的CURD相关的查询方法。SqlSessionManager不能通过构造器进行实例化,只能通过newInstance()方法进行实例化,事实上,在newInstance()方法mybatis(1) SqlSessionTemplate是如何保证的MyBatis中的SqlSession的线程安全的?
一,DefaultSqlSession的线程不安全性 在MyBatis的架构中的SqlSession是提供给外层调用的顶层接口,实现类有:DefaultSqlSession,SqlSessionManager以及MyBatis的弹簧提供的实现SqlSessionTemplate默认的实现类为DefaultSqlSession如类图结构如下所示: 对于MyBatis的提供的原生实现