MyBatis执行流程 助眠神器 睡不着建议看

提示:这是MyBatis的第六篇,有兴趣的话可以看下:

一: MyBatis复习笔记整理

二: MyBatis的resultMap标签 自定义封装返回值类型

三: MyBatis动态SQL官方文档

四: MyBatis动态SQL学习笔记

五:MyBatis缓存的使用和配置

文章目录


MyBatis执行流程

MyBatis配置文件 ——》SqlSessionFactory ——》SqlSession ——》Executor ——》Mapped Statement ——》数据库
MyBatis执行流程 助眠神器 睡不着建议看

1、SqlSessionFactory的初始化

使用MyBatis写完配置好以后 第一步都是读取配置文件 然后调用

SqlSessionFactory sqlSessionFactory = SqlSessionFactoryBuilder.build(InputStream inputSteam)

SqlSessionFactoryBuilder.build(InputStream)
传入一个文件输入流 (我们的MyBatis主配置文件)
来创建一个SqlSessionFactory对象

build方法首先创建xml解析器 parser
解析器会读取xml中的每一个标签的详细信息:
包含了settings标签(设置项开关cacheEnablemapUnderscoreToCamelCase等)、
environments标签(数据库连接信息)、
mappers标签(mapper.xml的映射信息MapperRegistrySQL语句MappedStatements、返回值类型ResultMap
最后将得到的所有配置和mapper映射的信息等都存入Configuration对象中

然后调用build(Configuration)方法,将上面的配置信息做为参数传入
最终返回一个DefaultSqlSessionFactory对象

总结:MyBatis把配置文件的信息全部解析并保存在Configuration对象中,返回包含了Configuration对象的DefaultSqlSession对象。

上一篇:Mybatis整合到spring原理


下一篇:mybatis入门