概述
此乃mybatis源码学习的第一篇,主要概述了mybatis的xml配置文件的元素以及如何解析配置文件。
配置文件的作用
mybatis的配置文件包含了影响Mybatis行为的设置和属性信息。由根元素configuration
以及所属子元素properties
(属性)、setting
(设置)、typeAliases
(类型别名)、typeHandlers
(类型处理器)、 objectFactory
(对象工厂)、plugins
(插件)、environments
(环境配置)、mappers
(映射器)组成,根据这写组成,我们可以自定义需求配置,MyBatis可以根据我们的需求进行相应的初始化和配置。
配置文件结构
配置文件解析过程
先定义一段简单的查询数据的代码
由代码可知,mybaits把配置文件作为流传入了SqlSessionFactoryBuilder
的build方法中,进入build
方法,如下图
build方法中把配置文件inputStream
流构造出了XMLConfigBuilder
类,此处我们重点关注着XMLConfigBuilder
类的parse
方法。
由parseConfiguration
方法可知,mybatis通过获取根节点下的所有元素来构造configuration
类。
parseConfiguration
方法的逻辑就是通过解析xml的每个节点元素,设置与之匹配的configuration
类的属性值,这个类也是贯穿整个mybatis执行流程下的关键配置类。
总结
整个加载解析配置文件清晰明了,主要是根据配置文件设置configuration
类的属性值,以便于后续的执行。