Mybatis组件之SqlSessionFactory
2018-04-19 本文已影响0人
d3f59bfc7013
导读SqlSessionFactory的作用是创建SqlSession,SqlSession就是一个会话,相当于JDBC中的Connection对象。每次应用访问数据库,就要通过SqlSessionFactory创建SqlSession,所以SqlSessionFactory应该在Mybatis整个生命周期中。每一个数据库只应该对应一个SqlSessionFactory。
SqlSessionFactory作用
SqlSessionFactory在整个Mybati运行流程中的作用如下图。
SqlSessionFactory通过一下代码生成SqlSession
sqlSession=sqlSessionFactory.openSession();
整个openSession()函数的执行流程如下
DefaultSession依赖于Exectutor,Exectutor是Mybatis的核心,负责SQL动态语句的生成和查询缓存的维护。
总结:SqlSessionFactory依赖于Configuration,它通过Configuration的信息生成Executor,然后将Exectutor实例,封装到DefaultSqlSession中并返回。