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

2021-01-25  本文已影响0人  铜炉

前言

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

Mybatis的架构设计

image.png

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

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
上一篇 下一篇

猜你喜欢

热点阅读