Configuration创建流程

本文详细解析了MyBatis的Configuration结构,包括数据源、MappedStatement和SqlSource。并深入介绍了Configuration的创建流程,从全局配置文件加载到映射文件解析,再到SqlSource的生成,特别是${}和#{}的区别以及DynamicSqlSource和RawSqlSource的使用场景。
摘要由CSDN通过智能技术生成

一、Configuration的结构详解


Configuration :MyBaits的全局配置文件对象

     |--DataSource:连接数据库的数据源对象

     |--MappedStatement:封装映射文件中select、insert等标签对象

           |--SqlSource:封装select标签下的sql语句对象

图解:

MyBatis的Configuration的结构图

总结:从上图可以看出Configuartion对象的加载流程,其实分为三大部分:全局配置文件加载、映射文件加载、Sql语句加载,下面就是源码阅读的每个部分的详细创建流程。

二、Configuration源码创建流程


1、全局配置文件的加载流程

SqlSessionFactoryBuilder#builder 用于构建SqlSessionFactory对象

|—XMLConfigBuilder#构造方法:用来解析全局配置文件的解析器

|—XPathParser#构造方法:使用XPath语法解析XML的解析器

|—XPathParser#createDocument:将全局配置文件封装为Document对象

|—XMLConfigBuilder#parse:正式开始解析

     |—XPathParser#evalNode:根据XPath语法获取指定节点

     |—XMLConfigBuilder#parseConfiguration:从全局配置文件的根结点(configuration)开始解析,并封装到Configuration中。

               |--XMLConfigBuilder#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值