MyBatis的初始化做了什么
- configuration 配置
- properties 属性
- settings 设置
- typeAliases 类型命名
- typeHandlers 类型处理器
- objectFactory 对象工厂
- plugins 插件
- environments 环境
- environment 环境变量
- transactionManager 事务管理器
- dataSource 数据源
- 映射器
使用 org.apache.ibatis.session.Configuration 对象作为一个所有配置信息的容器,Configuration对象的组织结构和XML配置文件的组织结构几乎完全一样
可以这么说,MyBatis初始化的过程,就是创建 Configuration对象的过程。
MyBatis的初始化可以有两种方式:
1. 基于XML配置文件:基于XML配置文件的方式是将MyBatis的所有配置信息放在XML文件中,MyBatis通过加载并XML配置文件,将配置文信息组装成内部的Configuration对象
2.基于Java API:这种方式不使用XML配置文件,需要MyBatis使用者在Java代码中,手动创建Configuration对象,然后将配置参数set 进入Configuration对象中
MyBatis基于XML配置文件创建Configuration对象的过程
package com.lf;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.InputStream;
public class App {
public static void main(String[] args) throws IOException {
String resouce = "mybatis-config.xml";
InputStream is = Resources.getResourceAsStream(resouce);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);
System.out.println(sqlSessionFactory.getConfiguration());
}
}
mybatis初始化要经过简单的以下几步:
1. 调用SqlSessionFactoryBuilder对象的build(inputStream)方法;
2. SqlSessionFactoryBuilder会根据输入流inputStream等信息创建XMLConfigBuilder对象;
3. SqlSessionFactoryBuilder调用XMLConfigBuilder对象的parse()方法;
4. XMLConfigBuilder对象返回Configuration对象;
5. SqlSessionFactoryBuilder根据Configuration对象创建一个DefaultSessionFactory对象;
6. SqlSessionFactoryBuilder返回 DefaultSessionFactory对象给Client,供Client使用。
基于Java API
package com.lf;
import org.apache.ibatis.session.Configuration;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.defaults.DefaultSqlSessionFactory;
import java.io.IOException;
public class App {
public static void main(String[] args) throws IOException {
Configuration configuration = new Configuration();
configuration.setAggressiveLazyLoading(true);
SqlSessionFactory sqlSessionFactory1 = new DefaultSqlSessionFactory(configuration);
}
}
MyBatis的初始化包括基于XML配置文件和Java API两种方式。XML配置方式中,通过SqlSessionFactoryBuilder加载配置文件,创建XMLConfigBuilder解析成Configuration对象,再构建DefaultSqlSessionFactory。Java API则需要手动创建并设置Configuration对象。初始化过程涉及configuration、properties、settings、typeAliases、typeHandlers、objectFactory、plugins、environments等核心组件。
7187

被折叠的 条评论
为什么被折叠?



