MyBatis - 整体架构(六)

MyBatis - 整体架构(六)

本文主要分享 MyBatis 项目的一个整体情况,对 MyBatis 有个整体的了解,可以去 MyBatis GitHub 上面 Fork 到你自己的 GitHub 上面,然后拉取到自己本地

一、整体架构

1. 项目结构

在这里插入图片描述

根据包名差不多就可以知道每个模块的作用

2. 整体架构

​ MyBatis 的整体架构分为三层:基础支持层核心处理层接口层

在这里插入图片描述

按照 MyBatis 这个架构图从下往上对其进行逐步分析

3. 基础支持层

基础支持层,包含整个 MyBatis 的基础模块,这些模块为核心处理层的功能提供了良好的支撑

  1. 解析器模块:解析文件,处理占位符
  2. 反射模块:对 Java 原生的反射进行良好的封装,进行了一系列的优化,提供更加简洁易用的 API 方便使用
  3. 异常模块:定义 MyBatis 自己的 Exception
  4. 数据源模块:提供相应的 DataSource 数据源实现,支持与第三方数据源的继承
  5. 事务模块:对数据库中的事务进行了抽象,提供事务接口的简单实现
  6. 缓存模块:提供一级缓存和二级缓存的支持
  7. 类型模块:提供别名机制,JDBC Type 和 Java Type 之间的转换
  8. IO模块:提供资源加载功能
  9. 日志模块:提供日志输出,支持集成第三方日志框架
  10. 注解模块:提供相关注解
  11. Binding模块:提供 Mapper 接口与 XML 映射文件进行关联的支持

4. 核心处理层

核心处理层,实现了 MyBatis 的核心处理流程,包括 MyBatis 的初始化以及完成一次数据库操作的涉及的全部流程

5. 接口层

接口层,核心为 SqlSession 接口,该接口定义了 MyBatis 暴露给应用程序调用的 API,也就是上层应用与 MyBatis 交互的桥梁。接口层在接收到调用请求时,会调用核心处理层的相应模块来完成具体的数据库操作

二、总结

总的来说,MyBatis 的代码不多,比较简单易懂,按照上面三个模块(基础支持层 => 核心处理层 => 接口层)逐步进行分析,后续会提供一系列的文档,包含 MyBatis 与 Spring 和 Spring Boot 集成的源码解析,请熟读 MyBatis 官方文档

--------------最后感谢大家的阅读,愿大家技术越来越流弊!--------------

在这里插入图片描述

--------------也希望大家给我点支持,谢谢各位大佬了!!!--------------

猜你喜欢

转载自blog.csdn.net/Zack_tzh/article/details/112187311