Mybatis - 2 - 模块划分

67 阅读2分钟

Mybatis总体架构图

Mybatis的架构分层清晰,且功能模块独立,相互协作,使得Mybatis成为一个广泛使用的优秀ORM框架。 Mybatis的架构图如下图所示:

image.png

对外接口层

Mybatis对外提供了数据的查询,新增,更新,删除,配置维护等接口,如下图所示:

模块功能层级功能说明
session接口层提供外部使用的API

核心处理层

Mybatis提供给外部API,调用后,API内部会使用核心处理层提供的能力进行数据处理,信息如下图所示:

模块功能层级功能说明
builder核心处理层配置解析
scripting核心处理层解析映射文件中的动态SQL节点,并形成对应数据库可以执行的SQL语句
mapping核心处理层映射,如参数映射,结果映射
executor核心处理层执行器模块,串联整个SQL执行流程
cursor核心处理层游标模块
pluguin核心处理层插件模块,提供插件接口,用户自定义插件扩展mybatis的功能

基础支持层

Mybatis提供给外部API,调用后,API内部会使用核心处理层提供的能力进行数据处理,信息如下图所示:

模块功能层级功能说明
reflection基础支持层反射实现,mybatis进行了封装,提供API,易于使用,其他大多模块会使用到
type基础支持层Mybatis提供的别名机制,方便JDBC与JAVA类型之间转换
logging基础支持层集成第三方日志框架,支持用户自定义日志实现
io基础支持层资源加载模块,对于类加载进行封装,确定了类加载顺序,提供文件加载能力
datasource基础支持层数据源模块,Mybatis提供响应的数据源实现,也提供API支持第三方数据源
transaction基础支持层事务管理模块,Mybatis对事务进行了抽象
parsing基础支持层解析器模块,提供了XPath进行封装, 处理动态SQL语句中占位符的支持
cache基础支持层缓存模块,提供了一级,二级缓存,优化缓存
binding基础支持层绑定模块,自定义的接口与配置文件的绑定,通过接口进行数据操作
exceptions基础支持层异常处理模块
annotations基础支持层注解模块
jdbc基础支持层JDBC模块
lang基础支持层Lang模块
util基础支持层通用工具类

内如错误与丰富度,会在后续持续学习中更正与补充