对于任何框架而言,使用前都要进行一系列的初始化过程,Mybatis初始化做了什么?
一.mybatis初始化流程
1.Mybatis基于XML配置文件创建Configuration对象的过程
2.手动加载XML配置文件创建Configuration对象完成初始化,创建并使用SqlSessionFactory对象
3.SqlSessionFactory的实例直接开启一个SqlSession,再通过SqlSession实例获得Mapper对象并运行Mapper映射的SQL语句,完成对数据库的CRUD和事务提交,之后关闭SqlSession。
2.Mybatis的配置信息
- configuration配置
- properties属性
- setting设置
- typeAliases类型命名
- typeHandler类型处理器
- ObjectFactory对象工厂
- pligins插件
- environments环境
- environment环境变量
- transactionManager事务管理器
- DataSource数据源
3.mybatis映射器
Mybatis的上述信息会配置在XML文件中,这些信息加载到Mybatis内部是如何维护的呢?
MyBatis在初始化的时候,会将MyBatis的配置信息全部加载到内存中,使用org.apache.ibatis.session.Configuration作为一个所有信息的容器来维护 Configuration对象的组织结构和XML配合文件的组织结构几乎完全一样(当然configuration 的功能不限于此,还负责创建一些Mybatis内部使用的对象,如Executor等)如下图:
Mybatis初始化Configuration信息,这时候用户就可以使用Mybatis进行数据库操作了。
也可以这么说,Mybatis初始化的过程就是创建Configuration的过程。
Mybatis的初始化有两种方式:
基于XML配置方式:将Mybatis的所有配置信息放在XML文件中,