作为自己的记录,等学完一遍后再回头看,一定会理解的,加油!
(
1
)读取
MyBatis
配置文件
mybatis-config
.x
ml
mybatis-config.xml
作为
MyBatis
的全局配
置文件,配置了 MyBatis
的运行环境等信息,其中主要内容是获取数据库连接。
(2
)加载映射文件
Mapper.xml
Mapper
.x
ml
文件即
SOL
映射文件,该文件中配置了操作
数据库的 SOL
语句,需要在
mybatis-config
.xml
中加载才能执行
mybatis-config
.xml
可以加
载多个配置文件,每个配置文件对应数据库中的一张表
(3
)构建会话
通过
MyBatis
的环境等配置信息构建会话工厂
SqlSessionFactory
(4
)创
SqlSession
对象
由会话工厂创建
SqlSession
对象,该对象中包含了执行
SOL 的所有方法
(5)
MyBatis
底层定义了一个
Executor
接口来操作数据库,它会根据
SqlSession
传递的参
数动态地生成需要执行的 SOL
语句,同时负责查询缓存的维护。
(6
)在
Executor
接口的执行方法中,包含一个
MappedStatement
类型的参数, 该
参数是
对映射信息的封装 用于存储要映射的
SOL
语句的
id
、参数等
Mapper.xml
文件中一个
SOL 对应一个 MappedStatement
对象
SOL
id
即是
MappedStatement
id
(
7
)输入参数映射
在执行方法时,
MappedStatement
对象会对用户执行
SOL
语句的输入 参数进行定义(可以定义为 Map
、Li
st
类型、基本类型和
POJO
类型
Executor
执行器会通过 MappedStatement 对象在执行
SOL
前,将输入的
Java
对象映射到
SOL
语句中
这里对输入参数的映射过程就类似于 JDBC
编程中对
preparedStatement
对象设置参数的过程
(
8)
输出结果映射
在数据库中执行完
SOL
语句后,
MappedStatement
对象会对
SOL 行输出的结果进行定义(可以定义为 Map
和Li
st
类型、基本类型、
POJO
类型
Executor
执行 器会通过 MappedStatement
对象在执行
SOL
语句后,将输出结果映射至
Java
对象中
这种将 输出结果映射到 Java
对象的过程就类似于
JDBC
编程中对结果的解析处理过程