Mybatis组件之SqlSessionFactory

2018-04-19  本文已影响0人  d3f59bfc7013

导读SqlSessionFactory的作用是创建SqlSession,SqlSession就是一个会话,相当于JDBC中的Connection对象。每次应用访问数据库,就要通过SqlSessionFactory创建SqlSession,所以SqlSessionFactory应该在Mybatis整个生命周期中。每一个数据库只应该对应一个SqlSessionFactory。

SqlSessionFactory作用
SqlSessionFactory在整个Mybati运行流程中的作用如下图。

SqlSessionFactory作用图

SqlSessionFactory通过一下代码生成SqlSession

sqlSession=sqlSessionFactory.openSession();

整个openSession()函数的执行流程如下

openSession()流程 openSession()实际返回的是一个DefaultSession实例。 DefaultSession UML图

DefaultSession依赖于Exectutor,Exectutor是Mybatis的核心,负责SQL动态语句的生成和查询缓存的维护。
总结:SqlSessionFactory依赖于Configuration,它通过Configuration的信息生成Executor,然后将Exectutor实例,封装到DefaultSqlSession中并返回。

上一篇下一篇

猜你喜欢

热点阅读