MyBatis 源码阅读笔记:核心组件简介

in Tech Java

SqlSession

MyBatis 和数据库交互时的会话对象,用于完成数据库的增删改查功能。真正执行 SQL 依赖于 Executor 组件。

Configuration

MyBatis 的配置信息。包含两种配置,一种是框架属性的配置信息,另一种是存储 SQL 语句的 Mapper 配置信息。

MappedStatement

MyBatis 的 SQL 配置信息。是对 Mapper XML 配置文件中 <select|update|delete|insert> 等标签或 @Select | @ Update 等注解配置信息的封装。

Executor

MyBatis 的 SQL 执行器。 MyBatis 中对数据库所有的增删改查操作都是由 Executor 组件完成的。提供了如下基于 BaseExecutor 三种执行器。

StatementHandler

封装了 JDBC Statement 对象的操作。

ParameterHandler

用于为 Statement 对象参数占位符设置值等操作。

ResultsetHandler

封装了对 JDBC 中的 ResultSet 对象操作。

TypeHandler

MyBatis 中的类型处理器,用于处理 Java 类型与 JDBC 类型之间的映射。

接下来的内容侧重几个核心问题

  1. SqlSession 执行 Mapper 的过程
  2. MyBatis 的缓存原理
  3. MyBatis 的插件原理
  4. MyBatis 与 SpringBoot 整合实现原理