MyBatis 架构简介

MyBatis 分为三层架构,分别是基础支撑层、核心处理层和接口层,如下图所示:
image.png

1. 基础支撑层

2. 核心处理层

1. 配置解析

2. SQL解析

MyBatis 中的 scripting 模块就是负责动态生成 SQL 的核心模块。它会根据运行时用户传入的实参, 解析动态 SQL 中的标签,并形成 SQL 模板,然后处理 SQL 模板中的占位符,用运行时的实参填充占位 符,得到数据库真正可执行的 SQL 语句。

3. SQL执行

Executor、StatementHandler、ParameterHandler 和 ResultSetHandler。

image.png

4. 插件

3. 接口层

接口层是 MyBatis 暴露给调用的接口集合,这些接口都是使用 MyBatis 时最常用的一些接口,例如,SqlSession 接口、SqlSessionFactory 接口等