1.mybatis的源码架构
Mybatis架构分为三层,接口层,核心处理层,基础支持层。
-
接口层
接口层是mybatis的入口,其核心对象是SqlSession,定义了很多的对数据库操作的方法。
-
核心处理层
包括解析sql数据,执行sql,处理结果集等。
-
基础支持层
用来支撑核心处理层的能力。例如缓存,反射,xml解析等
2.核心对象介绍
-
SqlSessionFactoryBuilder
用来创建SqlSessionFactory,里面重载了一些相关的方法。
- SqlSessionFactory
创建SqlSession,生命周期存在于整个应用中。每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的。SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先配置的 Configuration 实例来构建出 SqlSessionFactory 实例。
- SqlSession
使用 MyBatis 的主要 Java 接口就是 SqlSession。你可以通过这个接口来执行命令,获取映射器实例和管理事务。在介绍 SqlSession 接口之前,我们先来了解如何获取一个 SqlSession 实例。SqlSessions 是由 SqlSessionFactory 实例创建的。SqlSessionFactory 对象包含创建 SqlSession 实例的各种方法。而 SqlSessionFactory 本身是由 SqlSessionFactoryBuilder 创建的,它可以从 XML、注解或 Java 配置代码来创建 SqlSessionFactory。