9.2.3 settings设置

9.2 深入Mybatis配置文件 9.2.3 settings设置

MyBatis的配置文件包含了影响MyBatis行为的信息。文档的结构如下:

  • 顶层configuration配置
  • properties属性
  • settings设置
  • typeAliases类型命名
  • typeHandlers类型处理器
  • objectFactory对象工厂
  • plugins插件
  • environments环境
  • environment环境变量
  • transactionManager事务管理器
  • dataSource数据源
  • databaseldProvider数据库厂商标识
  • mappers映射器

这是MyBatis中极为重要的调整设置,它们会改变MyBatis的运行时行为。表9.1描述了设置中各项的参数、默认值等。

表9.1 settings设置的详细说明


设置参数 描述 有效值 默认值
cacheEabled 该配置影响所有映射器中配置的缓存的全局开关 true,false true
lazyLoadingEnabled 延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。特定关联关系中可通过设置fetchType属性来覆盖该项的开关状态 true,false false
aggressiveLazyLoading 当启用时,对任意延迟属性的调用会使带有延迟加载属性的对象完整加载:反之,每种属性将会按需加载 true,false true
logImpl 指定MyBatis所用日志的具体实现未指定时将自动查找
  • SLF4J,
  • LOG4J,
  • LOG4J2,
  • JDK_LOGGING,
  • COMMONS_LOGGING,
  • STDOUT_LOGGING,
  • NO_LOGGING
没有设置(null)

实例

MyBatis配置文件mybatis-config.xml中设置日志实现,如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- XML 配置文件包含对 MyBatis 系统的核心设置 -->
<configuration>
......
<!-- 指定 MyBatis 所用日志的具体实现 -->
<settings>
<setting
name="logImpl"
value="LOG4J"/>
</settings>
......
</configuration>