提示:这是MyBatis的第六篇,有兴趣的话可以看下:
二: MyBatis的resultMap标签 自定义封装返回值类型
文章目录
MyBatis执行流程
MyBatis配置文件 ——》SqlSessionFactory ——》SqlSession ——》Executor ——》Mapped Statement ——》数据库
1、SqlSessionFactory的初始化
使用MyBatis
写完配置好以后 第一步都是读取配置文件 然后调用
SqlSessionFactory sqlSessionFactory = SqlSessionFactoryBuilder.build(InputStream inputSteam)
SqlSessionFactoryBuilder.build(InputStream)
传入一个文件输入流 (我们的MyBatis
主配置文件)
来创建一个SqlSessionFactory
对象
build
方法首先创建xml
解析器 parser
解析器会读取xml中的每一个标签的详细信息:
包含了settings标签(设置项开关cacheEnable
、mapUnderscoreToCamelCase
等)、environments
标签(数据库连接信息)、mappers
标签(mapper.xml
的映射信息MapperRegistry
、SQL
语句MappedStatements
、返回值类型ResultMap
)
最后将得到的所有配置和mapper
映射的信息等都存入Configuration
对象中
然后调用build(Configuration)
方法,将上面的配置信息做为参数传入
最终返回一个DefaultSqlSessionFactory
对象
总结:
MyBatis
把配置文件的信息全部解析并保存在Configuration
对象中,返回包含了Configuration
对象的DefaultSqlSession
对象。