-
初始化
-
概念
- 可以这么说,MyBatis初始化的过程,就是创建 Configuration对象的过程
-
过程
-
加载配置文件mybatis-config.xml到MyBatis内部
- 使用 org.apache.ibatis.session.Configuration对象作为一个所有配置信息的容器,Configuration对象的组织结构和XML配置文件的组织结构几乎完全一样,
这样配置文件的信息就存到了Configuration这个类中了
-
流程图
-
sql执行总体流程
-
加载配置并初始化
- 加载配置文件,将SQL的配置信息加载成为一个个MappedStatement对象(包括了传入参数映射配置、执行的SQL语句、结果映射配置),存储在内存中
-
接收调用请求
-
触发条件:
- 调用Mybatis提供的API
-
传入参数:
- 为SQL的ID和传入参数对象
-
处理过程:
- 将请求传递给下层的请求处理层进行处理。
-
处理操作请求
-
触发条件:
- API接口层传递请求过来
-
传入参数:
- 为SQL的ID和传入参数对象
-
处理过程:
- (A)根据SQL的ID查找对应的MappedStatement对象。
- (B)根据传入参数对象解析MappedStatement对象,得到最终要执行的SQL和执行传入参数。
- (C)获取数据库连接,根据得到的最终SQL语句和执行传入参数到数据库执行,并得到执行结果。
- (D)根据MappedStatement对象中的结果映射配置对得到的执行结果进行转换处理,并得到最终的处理结果
- (E)释放连接资源。
- (4)返回处理结果将最终的处理结果返回。
- 整体执行流程图.jpg
-
小结过程
- 加载配置
- SQL解析
- SQL执行
- 结果映射