1、mybatis的初始化
来源:互联网 发布:大学生网络党校 编辑:程序博客网 时间:2024/06/05 21:51
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); }}
- 1、mybatis的初始化
- MyBatis学习笔记(三)---MyBatis的初始化
- Mybatis初始化机制详解
- Mybatis初始化机制详解
- Mybatis初始化机制详解
- Mybatis原理学习3:Mybatis的初始化(配置文件的读取和解析)
- MyBatis源码分析-MyBatis初始化流程
- Mybatis深入之初始化过程
- 源码分析-Mybatis初始化过程
- ibatis.net(mybatis.net)1.6.2初始化时出错的原因。
- 16.3.1 socket()的初始化
- java 类的初始化1
- Java类的初始化1
- Mybatis工作机制源码分析—初始化
- 《深入理解mybatis原理》 Mybatis初始化机制详解
- 《深入理解mybatis原理》 Mybatis初始化机制详解
- 《深入理解mybatis原理》 Mybatis初始化机制详解
- 《深入理解mybatis原理(一)》 Mybatis初始化机制详解
- 0、Mybatis源码环境的搭建
- uva11181(概率)
- .9图的制作和短信sms的发送
- 数据结构Huffman树及编码
- 微服务架构(Microservice Architecture)
- 1、mybatis的初始化
- 不知名的有DIO、SCK、RCK引脚的四位LED数码管模块
- 浅谈虚拟机(2.1)凶器简介の局部变量表
- Python3.X中的位运算符
- windows编译protobuf库(用Visual Studio编译)
- angular资源整理
- Spring的依赖注入方式
- android设计模式
- 2、Configuration详解