new Configuration
的时候做了什么操作; 5.3 XMLConfigBuilder#parse
SqlSessionFactoryBuilder
的 build
方法中获取到了 XMLConfigBuilder
之后,调用了其 parse()
方法; parse()
方法中调用了 parseConfiguration(XNode root)
这个方法才是真正执行 mybatis
全局配置文件解析的方法。 parseConfiguration(XNode root)
方法中解析了 <properties>
、配置节点 <settings>
、别名配置节点 <typeAliases>
、插件扩展 <plugins>
、对象工厂节点 <objectFactory>
、环境配置节点 <environments>
、类型处理器节点 <typeHandlers>
、映射器节点 <mappers>
等; parse()
执行配置文件解析后将配置信息保存至 Configuration
对象中。 org.apache.ibatis.builder.xml.XMLConfigBuilder#mapperElement
方法,初始化了 MappedStatement
对象,其中保存了映射文件等 SQL
执行所需的必要信息;可参考上一篇博文:初始化解析配置文件 至此:已经获取到了会话工厂类实例 SqlSessionFactory
,我们可以从会话工厂中获取session会话,从而操作数据库
每个基于 MyBatis
的应用都是以一个 SqlSessionFactory
的实例为核心的,我们获取到了会话工厂类,就相当于拿到了制作操作数据库钥匙的机器,而我们现在只需要拿着这个机器去制造钥匙,然后去打开 MyBatis
操作数据库的大门。