1.Mybatis的整体架构

Mybatis源码解读1-整体架构及数据接口层的实现(1)

接口层
接口层是提供给开发人员的一套API,主要是使用SQLSession接口和Mapper接口通知调用那个sql还有关联参数

二.sqlsession源码分析
Mybatis源码解读1-整体架构及数据接口层的实现(1)

SqlSessionFactory是一个顶级接口,他主要包括的是创建SqlSession以及图中显示的Configuration对象.

Configuration这个对象主要是Mybatis中的配置文件,通过加载配置文件完成一些对Mybatis中的一些设置

Mybatis源码解读1-整体架构及数据接口层的实现(1)由图可知,这个顶级接口总共两个实现类

那我们先看看SqlSessionManager

在这个里边主要就有一个比较简单的问题,标记在图片中了

Mybatis源码解读1-整体架构及数据接口层的实现(1)

 但是在实际开发中,一般情况下Mybatis都是要配合Spring一起使用的,所以,SqlSession对象一般情况是由Spring进行管理的,所以这个类就不做深入研究了,

另一个实现类主要就是 DefaultSqlSessionFactory

Mybatis源码解读1-整体架构及数据接口层的实现(1)

这个里边主要是通过configuration进行创建对象.

这个configuration主要是哪里来的,我这边写一个简单的测试类进行debug一下,看一下他是如何过来了

Mybatis源码解读1-整体架构及数据接口层的实现(1) 在创建sqlSessionFactory对象中,他主要是通过他的自类创建出来对象

Mybatis源码解读1-整体架构及数据接口层的实现(1)

Mybatis源码解读1-整体架构及数据接口层的实现(1)

在断点进来以后,我们看到这个方法的XMLConfigBuilder对象,XMLConfigBuilder这个对象主要是解析出来在启动之前加载的配置文件,在return中他主要的就是讲我们的配置返回成configuration对象,然后在build方法中我们看到通过这个房子创建出来了这个sqlsessionfactory对象
至此我们的sqlSessionFactory对象就创建完成了

相关文章:

  • 2021-11-22
  • 2021-09-03
  • 2021-09-29
  • 2021-11-11
  • 2021-06-10
  • 2022-12-23
猜你喜欢
  • 2021-07-23
  • 2021-09-04
  • 2021-09-11
  • 2021-07-23
  • 2022-12-23
  • 2021-10-25
  • 2021-11-04
相关资源
相似解决方案