结合源码!
MyBatis的初始化可以有两种方式:
- 基于XML配置文件:基于XML配置文件的方式是将MyBatis的所有配置信息放在XML文件中,MyBatis通过加载并XML配置文件,将配置文信息组装成内部的
Configuration
对象。 - 基于Java API:这种方式不使用XML配置文件,需要MyBatis使用者在Java代码中,手动创建
Configuration
对象,然后将配置参数set 进入Configuration
对象中 。
使用XML配置文件的初始化流程如下:
- 调用
SqlSessionFactoryBuilder
对象的build(inputStream)
方法; -
SqlSessionFactoryBuilder
会根据输入流 inputStream 等信息创建XMLConfigBuilder
对象 ; -
SqlSessionFactoryBuilder
调用XMLConfigBuilder
对象的parse()
方法; -
XMLConfigBuilder
对象返回Configuration
对象; -
SqlSessionFactoryBuilder
根据Configuration
对象创建一个DefaultSessionFactory
对象; -
SqlSessionFactoryBuilder
返回DefaultSessionFactory
对象给Client,供 Client使用。
相关类
-
org.apache.ibatis.session.Configuration
作为一个所有配置信息的容器,Configuration
对象的组织结构和XML配置文件的组织结构几乎完全一样。可以这么说,MyBatis初始化的过程,就是创建 Configuration对象的过程。 -
org.apache.ibatis.session.defaults.DefaultSqlSessionFactory
Mybatis 自带的SqlSessionFactory
实现类
网友评论