java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > MyBatis配置对象Configuration作用

MyBatis的配置对象Configuration作用及说明

作者:冰糖心书房

MyBatis的Configuration对象是MyBatis的核心配置对象,它包含了MyBatis运行时所需的几乎所有配置信息,这个对象负责管理MappedStatement、创建核心组件、提供配置信息的访问接口以及作为插件机制的入口

MyBatis配置对象Configuration作用

org.apache.ibatis.session.Configuration 是 MyBatis 的核心配置对象,它包含了 MyBatis 运行时所需的几乎所有配置信息。可以把它理解为 MyBatis 的“大脑”或“配置中心”。

在 MyBatis 的初始化过程中,会解析 XML 配置文件或通过 Java 代码构建一个 Configuration 对象,MyBatis 的其他组件(如 SqlSessionFactoryExecutorMappedStatement 等)都会依赖这个 Configuration 对象来获取配置信息和执行操作。

Configuration 对象的主要作用

保存全局配置信息: Configuration 对象保存了 MyBatis 的全局配置信息,这些信息通常在 mybatis-config.xml 文件中配置,或者通过 Java 代码设置。 这些信息包括:

管理 MappedStatement: Configuration 对象维护了一个 MappedStatement 的注册表(Map<String, MappedStatement>)。MappedStatement 对象代表一个 SQL 语句(selectinsertupdatedelete),它包含了 SQL 语句的 ID、参数类型、结果类型、SQL 语句内容等信息。Configuration 对象通过 MappedStatement 的 ID 来查找和管理 MappedStatement

创建核心组件: Configuration 对象提供了一些方法来创建 MyBatis 的核心组件,例如:

提供配置信息的访问接口: Configuration 对象提供了一系列 getXXX() 方法,用于获取各种配置信息。例如:

插件机制的入口: Configuration 提供了添加和获取插件的方法 (addInterceptor(), getInterceptors()),使得插件可以拦截 MyBatis 的核心执行流程。

Configuration 对象的创建

// 通过 XML 配置文件创建
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
Configuration configuration = sqlSessionFactory.getConfiguration();


// 通过 Java 代码创建
Configuration configuration = new Configuration();
configuration.setCacheEnabled(true); // 设置缓存
configuration.setLazyLoadingEnabled(false); // 设置延迟加载
configuration.addMapper(UserMapper.class); // 添加 Mapper 接口
// ... 其他配置 ...
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration);

Configuration 对象的使用 (通常不需要直接操作)

总结

Configuration 对象是 MyBatis 的核心配置对象,它包含了 MyBatis 运行时所需的几乎所有配置信息,并负责管理 MappedStatement、创建核心组件、提供配置信息的访问接口以及作为插件机制的入口。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文