MyBatis 作为一个流行的半自动化的 ORM 框架,在日常开发中使用非常广泛,为了能更加方便、安全的使用它,近期过了一遍主要流程的源码,在此做一些记录。首先做一个简单的概述,后面再分篇介绍其核心组件。
核心组成
👆这张图是我认为比较重要的一些知识点,大致介绍一下:
- 和会话相关的
SqlSessionFactory
和SqlSession
- 负责执行 SQL 语句的
Executor
执行器 - 负责生成不同的
Statement
,与 JDBC 打交道的StatementHandler
- 负责请求参数解析的
ParameterHandler
和结果集解析的ResultSetHandler
getMapper
流程获取Mapper
接口的代理类- 提高查询效率的缓存支持
- 预留给开发人员的扩展点「插件」