美文网首页
[架构设计]Mybatis的架构设计

[架构设计]Mybatis的架构设计

作者: 铜炉 | 来源:发表于2021-01-25 15:56 被阅读0次

前言

上一篇 谈谈对Mybatis的理解
今天接着上一篇继续聊一聊Mybatis的架构

Mybatis的架构设计

image.png

Mybatis也是一个分层架构,根据一个实际需要执行的sql,进行了三层的设计。

  • 接口层:对外暴露接口,提供增删改查及配置的能力。
  • 数据处理层:用来解析sql,将sql中的参数映射到数据库,并提供执行sql的能力,同时提供讲数据库中的数据元素映射到java对象的封装
  • 框架支撑层:提供最基础能力用来支撑框架,比如事务管理,缓存的处理,连接池的维护,配置加载等。

Mybatis主要组件

组件 描述
SqlSession 作为Mybatis工作的主要顶层API,表示和数据库交互的回话,完成必要的数据库增删改查功能
Executor Mybatis的执行器,Mybatis的核心能力,负责Sql语句的生成和查询结构的缓存及其维护
StatementHandler 封装了JDBC Statement操作,负责对JDBC statement操作,同时将Statement结果转换为List集合
ParameterHandler 负责对用户传递的参数转化换成JDBC Statement所需要的参数。
ResultSetHandler 负责将JDBC返回的ResultSet结果集对象转换成List集合
TypeHandler 负责java数据对象和jdbc数据类型之间的映射和转换,ORM关系型数据库的特点
MappedStatement 维护了select/update/delete/insert 节点的封装
SqlSource 负责根据用户传递的parameterObject,动态的生成Sql语句,将信息封装在BoundSql中。
BoundSql 标识动态生成的Sql语句及相关的参数信息

Mybatis处理流程

image.png

相关文章

网友评论

      本文标题:[架构设计]Mybatis的架构设计

      本文链接:https://www.haomeiwen.com/subject/wufizktx.html