MyBatis架构原理&主要组件
hm
# 2.1 MyBatis的架构设计
mybatis架构四层作用是什么呢?
- Api接口层:提供API 增加、删除、修改、查询等接口,通过API接口对数据库进行操作。
- 数据处理层:主要负责SQL的 查询、解析、执行以及结果映射的处理,主要作用解析sql根据调用请求完成一次数据库操作.
- 框架支撑层:负责通用基础服务支撑,包含事务管理、连接池管理、缓存管理等共用组件的封装,为上层提供基础服务支撑.
- 引导层:引导层是配置和启动MyBatis 配置信息的方式
# 2.2 MyBatis主要组件及其相互关系
组件关系如下图所示:
组件介绍:
- SqlSession:是Mybatis对外暴露的核心API,提供了对数据库的DRUD操作接口。
- Executor:执行器,由SqlSession调用,负责数据库操作以及Mybatis两级缓存的维护
- StatementHandler:封装了JDBC Statement操作,负责对Statement的操作,例如PrepareStatement参数的设置以及结果集的处理。
- ParameterHandler:是StatementHandler内部一个组件,主要负责对ParameterStatement参数的设置
- ResultSetHandler:是StatementHandler内部一个组件,主要负责对ResultSet结果集的处理,封装成目标对象返回
- TypeHandler:用于Java类型与JDBC类型之间的数据转换,ParameterHandler和ResultSetHandler会分别使用到它的类型转换功能
- MappedStatement:是对Mapper配置文件或Mapper接口方法上通过注解申明SQL的封装
- Configuration:Mybatis所有配置都统一由Configuration进行管理,内部由具体对象分别管理各自的小功能模块
上次更新: 2023/08/10, 16:25:16