当前位置:Gxlcms > 数据库问题 > SqlSessionFactory的创建过程

SqlSessionFactory的创建过程

时间:2021-07-01 10:21:17 帮助过:2人阅读

技术分享

首先是创建一个SqlSessionFactoryBuilder,由其名字可以看出是创建SqlSessionFactory的,跟进类中,发现它没有构造方法,只有各种重载的build方法,返回值都是SqlSessionFactory,

技术分享

看来为了创建SqlSessionFactory也是煞费苦心。。。

经过一次内部调用,来到这个build方法

技术分享

此时的参数只有最开始的输入字符流:Resources.getResourceAsReader(resource),另外两个参数:environment和properties均为空。

在这里,XMLConfigBuilder是一个解析XML配置的类,主要作用就是解析xml配置文件并初始化一些信息。

继续跟进XMLConfigBuilder的构造方法,发现首先是调用了重载的构造方法,并且有两个与XML解析相关的类:

技术分享

XMLMapperEntityResolver是一个实现了xml标准EntityResolver的实现类,略过

XPathParser继续解析,跟进其构造方法,目的之一是得到一个关联xml配置的Document对象

技术分享

执行commonConstructor,主要是初始化一些配置

技术分享

而下面的createDocument则产生了此Document对象,具体不赘述。

执行完毕之后,就调用了XMLConfigBuilder重载的构造方法:

技术分享

人气教程排行