导读:SqlSession是一个会话,相当于JDBC中的一个Connection对象,它的生命周期应该是在请求数据库事务的过程中。它是Mybatis工作的顶层API接口,作为会话访问,完成增删改查功能。
- SqlSession的作用
Sqlsession在Mybatis生命周期的作用
SqlSession有两种工作方式,可以参考Mybatis的基本工作流程
以Mybatis接口工作模式,查看SqlSession在这个工作模式下的流程,入口代码如下
RoleMapper roleMapper=sqlSession.getMapper(RoleMapper.class);
这里给出Mybatis从上述代码是怎么返回一个Mapper接口的代理类的示例图。
SqlSession生成Mapper接口代理类
主要分成4步
- 执行DefaultSqlSession getMapper方法
- 执行DefaultSqlSession 成员变量Configuration的getMapper方法
- 调用MapperRegistry.getMapper
- 由MapperProxyFactory<T> 代理工厂生成Mapper代理类返回
网友评论