MyBatis 架构与核心组件全解析:从三层架构到 SQL 执行链路
MyBatis 的架构设计清晰且模块化,通过 基础支持层、核心处理层、接口层 三层结构实现 “配置驱动、插件可扩展、低侵入” 的特性。本文深入拆解每一层的核心组件、职责及协作关系,并结合 SQL 执行全链路,帮你理解 MyBatis 如何将 “配置” 转化为 “数据库操作”,构建完整的技术认知。
MyBatis 三层架构总览
MyBatis 的三层架构并非物理隔离,而是按 “职责划分” 的逻辑分层,各层组件协同工作,形成从 “接口调用” 到 “数据库响应” 的闭环。三层的核心职责与组件对应关系如下:
| 架构分层 | 核心职责 | 关键组件 |
|---|---|---|
| 接口层 | 提供对外 API,简化开发者调用 | SqlSession、MapperProxy(动态代理) |
| 核心处理层 | 实现 SQL 执行与结果映射的核心逻辑 | Executor(执行器)、StatementHandler(SQL 处理器)、ParameterHandler(参数处理器)、ResultSetHandler(结果处理器)、Configuration(配置中心) |
| 基础支持层 | 为核心层提供通用支撑能力,保证框架稳定性 | 数据源、事务管理、日志、类型转换(TypeHandler)、缓存、XML/OGNL 解析器 |
分层详解:组件职责与协作
1. 基础支持层:框架的 “地基”
基础支持层是 MyBatis 的 “工具集”,为核心处理层提供通用能力,不直接参与 SQL 执行,但决定了框架的扩展性、稳定性和性能。