一文带你掌握mybatis的所有全局配置( 二 )


NONE, PARTIAL, FULL
PARTIAL
autoMappingUnknownColumnBehavior
指定发现自动映射目标未知列(或未知属性类型)的行为 。NONE: 不做任何反应WARNING: 输出警告日志('
org.apache.ibatis.session.AutoMappingUnknownColumnBehavior' 的日志等级必须设置为 WARN)FAILING: 映射失败 (抛出 SqlSessionException)
NONE, WARNING, FAILING
NONE
defaultExecutorType
配置默认的执行器 。SIMPLE 就是普通的执行器;REUSE 执行器会重用预处理语句(PreparedStatement); BATCH 执行器不仅重用语句还会执行批量更新 。
SIMPLE REUSE BATCH
SIMPLE
defaultStatementTimeout
设置超时时间 , 它决定数据库驱动等待数据库响应的秒数 。
任意正整数
未设置 (null)
defaultFetchSize
为驱动的结果集获取数量(fetchSize)设置一个建议值 。此参数只可以在查询设置中被覆盖 。
任意正整数
未设置 (null)
defaultResultSetType
指定语句默认的滚动策略 。(新增于 3.5.2)
FORWARD_ONLY | SCROLL_SENSITIVE | SCROLL_INSENSITIVE | DEFAULT(等同于未设置)
未设置 (null)
safeRowBoundsEnabled
是否允许在嵌套语句中使用分页(RowBounds) 。如果允许使用则设置为 false 。
true | false
False
safeResultHandlerEnabled
是否允许在嵌套语句中使用结果处理器(ResultHandler) 。如果允许使用则设置为 false 。
true | false
True
mapUnderscoreToCamelCase
是否开启驼峰命名自动映射 , 即从经典数据库列名 A_COLUMN 映射到经典 JAVA 属性名 aColumn 。
true | false
False
localCacheScope
MyBatis 利用本地缓存机制(Local Cache)防止循环引用和加速重复的嵌套查询 。默认值为 SESSION , 会缓存一个会话中执行的所有查询 。若设置值为 STATEMENT , 本地缓存将仅用于执行语句 , 对相同 SqlSession 的不同查询将不会进行缓存 。
SESSION | STATEMENT
SESSION
jdbcTypeForNull
当没有为参数指定特定的 JDBC 类型时 , 空值的默认 JDBC 类型 。某些数据库驱动需要指定列的 JDBC 类型 , 多数情况直接用一般类型即可 , 比如 NULL、VARCHAR 或 OTHER 。
JdbcType 常量 , 常用值:NULL、VARCHAR 或 OTHER 。
OTHER
lazyLoadTriggerMethods
指定对象的哪些方法触发一次延迟加载 。
用逗号分隔的方法列表 。
equals,clone,hashCode,toString
defaultScriptingLanguage
指定动态 SQL 生成使用的默认脚本语言 。
一个类型别名或全限定类名 。
org.apache.ibatis.scripting.xmltags.XMLLanguageDriver
defaultEnumTypeHandler
指定 Enum 使用的默认 TypeHandler  。(新增于 3.4.5)
一个类型别名或全限定类名 。
org.apache.ibatis.type.EnumTypeHandler
【一文带你掌握mybatis的所有全局配置】callSettersOnNulls
指定当结果集中值为 null 的时候是否调用映射对象的 setter(map 对象时为 put)方法 , 这在依赖于 Map.keySet() 或 null 值进行初始化时比较有用 。注意基本类型(int、boolean 等)是不能设置成 null 的 。
true | false
false
returnInstanceForEmptyRow
当返回行的所有列都是空时 , MyBatis默认返回 null 。当开启这个设置时 , MyBatis会返回一个空实例 。请注意 , 它也适用于嵌套的结果集(如集合或关联) 。(新增于 3.4.2)
true | false
false
logPrefix
指定 MyBatis 增加到日志名称的前缀 。
任何字符串
未设置
logImpl
指定 MyBatis 所用日志的具体实现 , 未指定时将自动查找 。
SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING
未设置
proxyFactory
指定 Mybatis 创建可延迟加载对象所用到的代理工具 。
CGLIB | JAVASSIST
JAVASSIST (MyBatis 3.3 以上)
vfsImpl
指定 VFS 的实现
自定义 VFS 的实现的类全限定名 , 以逗号分隔 。
未设置
useActualParamName
允许使用方法签名中的名称作为语句参数名称 。为了使用该特性 , 你的项目必须采用 Java 8 编译 , 并且加上 -parameters 选项 。(新增于 3.4.1)
true | false
true
configurationFactory
指定一个提供 Configuration 实例的类 。这个被返回的 Configuration 实例用来加载被反序列化对象的延迟加载属性值 。这个类必须包含一个签名为static Configuration getConfiguration() 的方法 。(新增于 3.2.3)


推荐阅读