目录
1、目的:梳理一下MyBatis运行时的几个对象,我们需要搞清楚他们的作用,进而需要理解mybatis的整个工作流程和执行原理。
作用:编写资源加载类,使用类加载器加载 配置文件(mybatis-config.xml ),即:读取mybatis-config.xml
作用:将配置资源封装成Configuration对象,并且将该资源对象传到工厂对象中
作用:用来封装 sql语句 和 查询结果集(即:返回值类型)
1、目的:梳理一下MyBatis运行时的几个对象,我们需要搞清楚他们的作用,进而需要理解mybatis的整个工作流程和执行原理。
mybatis-config.xml
mapper.xml mapper.xml mapper.xml...
|
|
Resources
|
|---->InputStream
|
SqlSessionFactoryBuilder
|
|---->Configuration(conn, Map<namespace+"."+id, MappedStatement(sql, resultType)>)
|
SqlSessionFactory
|
|---->Configuration(conn, Map<namespace+"."+id, MappedStatement(sql, resultType)>)
|
SqlSession
|
|---->conn, Map<namespace+"."+id, MappedStatement(sql, resultType)>
|
ProxyFactory
|
|---->MappedStatement(sql, resultType), conn
|
Executor
| |
| |
| |
输入出映射
2、简要概括各个类
2.1 Resources
作用:编写资源加载类,使用类加载器加载 配置文件(mybatis-config.xml ),即:读取mybatis-config.xml
package com.by.io;
import java.io.InputStream;
public class Resources {
//根据文件名称,加载类路径下面的配置文件
public static InputStream getResourceAsStream(String filePath){
return Resources.class.getClassLoader().getResourceAsStream(filePath);
}
}