mybatis-整体架构
2020-07-22 本文已影响0人
ajajaj
MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
mybatis架构
image接口层
接口层是对外的的api,主要使用sqlSession接口,通过sqlsession接口、mapper接口,开发人员可以通知mysql调用哪一条sql以及相关参数
-
sqlsession接口使用方式
image -
mapper接口使用方式
image
数据处理层
- Sql参数绑定
- sql命令发送
- 结果类型转换
支撑层
-
mybatis和数据库的连接方式管理
-
mybatis事务的管理
-
sql和xml映射方式管理
-
mybatis缓存管理
mybatis的调用流程
imagesqlSession
接收开发人员的statement id和参数,并返回查询结果
Executor
执行器,是mybatis核心的调度器,负责sql动态语句的生成和参数,查询缓存的维护
StatementHandler
负责jdbc和statement的交互,包括statement设置参数、结果转化
ParameterHandler
将用户传入的参数转化为statement需要的参数
ResultSetHandler
将jdbc返回的ResultSet结果转化为List类型集合
TypeHandler
负责java数据类型和jdbc数据类型进行转化
MappedStatement
维护了一条<select|update|delete|insert>节点的封装
原文地址
http://cbaj.gitee.io/blog/2020/07/12/mybatis-%E6%95%B4%E4%BD%93%E6%9E%B6%E6%9E%84/#more