MyBatis源码分析之三层结构介绍

Posted 波波烤鸭

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBatis源码分析之三层结构介绍相关的知识,希望对你有一定的参考价值。

  后面几篇文章我们详细的来聊聊MyBatis的源码,首先我们来介绍下MyBatis的体系结构。

三层结构介绍

在这里插入图片描述
  在MyBatis的主要工作流程里面,不同的功能是由很多不同的类协作完成的,它们分布在MyBatis jar包的不同的package里面。
在这里插入图片描述
  大概有一千多个类,这样看起来不够清楚,不知道什么类在什么环节工作,属于什么层次。MyBatis按照功能职责的不同,所有的package可以分成不同的工作层次。上面的那个图已经给大家展现了

1.1 接口层

​ 首先接口层是我们打交道最多的。核心对象是SqlSession,它是上层应用和MyBatis打交道的桥梁,SqlSession上定义了非常多的对数据库的操作方法。接口层在接收到调用请求的时候,会调用核心处理层的相应模块来完成具体的数据库操作。

1.2 核心处理层

接下来是核心处理层。既然叫核心处理层,也就是跟数据库操作相关的动作都是在这一层完成的。

核心处理层主要做了这几件事:

  1. 把接口中传入的参数解析并且映射成JDBC类型;

  2. 解析xml文件中的SQL语句,包括插入参数,和动态SQL的生成;

  3. 执行SQL语句;

  4. 处理结果集,并映射成Java对象。

插件也属于核心层,这是由它的工作方式和拦截的对象决定的。

1.3 基础支持层

​ 最后一个就是基础支持层。基础支持层主要是一些抽取出来的通用的功能(实现复用),用来支持核心处理层的功能。比如数据源、缓存、日志、xml解析、反射、IO、事务等等这些功能

以上是关于MyBatis源码分析之三层结构介绍的主要内容,如果未能解决你的问题,请参考以下文章

其实MyBatis的插件机制可以帮我们解决工作的很多问题,建议收藏!

其实MyBatis的插件机制可以帮我们解决工作的很多问题,建议收藏!

mybatis复习

MyBatis 源码分析-项目总览

MyBatis框架基础

MyBatis框架基础