Mybatis组件之SqlSession

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

导读:SqlSession是一个会话,相当于JDBC中的一个Connection对象,它的生命周期应该是在请求数据库事务的过程中。它是Mybatis工作的顶层API接口,作为会话访问,完成增删改查功能。


Sqlsession在Mybatis生命周期的作用

SqlSession有两种工作方式,可以参考Mybatis的基本工作流程
以Mybatis接口工作模式,查看SqlSession在这个工作模式下的流程,入口代码如下

RoleMapper roleMapper=sqlSession.getMapper(RoleMapper.class);

这里给出Mybatis从上述代码是怎么返回一个Mapper接口的代理类的示例图。


SqlSession生成Mapper接口代理类

主要分成4步

  1. 执行DefaultSqlSession getMapper方法
  2. 执行DefaultSqlSession 成员变量Configuration的getMapper方法
  3. 调用MapperRegistry.getMapper
  4. 由MapperProxyFactory<T> 代理工厂生成Mapper代理类返回
上一篇 下一篇

猜你喜欢

热点阅读