SqlSessionFactoryBuilder定义、作用、流程
定义
SqlSessionFactoryBuilder是MyBatis中用于创建SqlSessionFactory的构建器,它负责解析mybatis-config.xml配置文件中的配置信息,并创建出SqlSessionFactory对象。
作用
SqlSessionFactoryBuilder的作用主要有以下几个方面:
- 解析配置文件:SqlSessionFactoryBuilder负责解析mybatis-config.xml配置文件中的配置信息,包括数据库连接信息、Mapper映射文件路径、插件等。
- 创建SqlSessionFactory:SqlSessionFactoryBuilder根据解析出的配置信息,创建出SqlSessionFactory对象,SqlSessionFactory是MyBatis中用于创建SqlSession对象的工厂类。
- 提供配置信息的灵活性:SqlSessionFactoryBuilder可以根据应用程序的需要,动态修改或添加mybatis-config.xml配置文件中的配置信息,以提供更灵活的配置方式。
流程
SqlSessionFactoryBuilder的工作流程一般如下所示:
- 解析mybatis-config.xml配置文件 SqlSessionFactoryBuilder首先读取mybatis-config.xml配置文件,解析其中的配置信息。
- 创建Configuration对象 SqlSessionFactoryBuilder创建Configuration对象,并将解析出的配置信息设置到Configuration对象中。
- 创建SqlSessionFactory对象 SqlSessionFactoryBuilder根据Configuration对象创建SqlSessionFactory对象,并将其返回给调用者。
- 返回SqlSessionFactory对象 SqlSessionFactoryBuilder将创建出的SqlSessionFactory对象返回给调用者,供应用程序使用。 需要注意的是,SqlSessionFactoryBuilder一般只在应用程序初始化时使用一次,创建出SqlSessionFactory对象后,就不再需要SqlSessionFactoryBuilder对象。SqlSessionFactoryBuilder对象是可以被多次调用的,SqlSessionFactory对象是线程安全的,可以被多个线程共享。