这是MyBatis中极为重要的调整设置,他们会改变MyBatis的运行时行为:
参数
|
描述
|
有效值
|
默认值
|
cacheEnabled
|
该配置影响所有映射器中配置的缓存的全局开关
|
ture|false
|
true
|
lazyLoadingEnabled
|
延迟加载的全局开关,当开启时,所有关联对象都会延迟加载,特定关联关系中可通过设置fetchType属性来覆盖该项的开关状态
|
true|false
|
false
|
aggressiveLazyLoading
|
当启用时,对任意延迟属性的调用会使带有延迟加载属性的对象完整加载;反之,每种属性将会按需加载 |
true|false
|
true
|
multipleResultSetsEnabled
|
是否允许单一语句返回多结果集(需要兼容驱动)
|
true|false
|
true
|
useGenneratedKeys
|
允许JDBC支持自动生成主键,需要驱动兼容.如果设置为true这这个设置强制使用自动生成主键,尽管一些驱动不能兼容但仍正常工作
|
true|false
|
false
|
autoMappingBehavior
|
指定MyBatis应如何自动映射列到字段或属性,NONE表示取消自动映射;PARTIAL只会自动映射没有定义嵌套结果集映射的结果集.FULL会自动映射任意复杂结果集(无论是否嵌套)
|
NONE|PARTIAL|FULL
|
PARTIAL
|
autoMappingUnknownColumnBehavior
|
是否自动映射未知的字段或属性
NONE:什么都不做
WARNING:警告
FAILING:抛出异常
|
NONE|WARNING|FAILING
|
NONE
|
defaultExceptionType
|
配置默认的执行器.SIMPLE就是普通执行器;REUSE执行器会重用预处理语句(prepared statements);BATCH执行器将重用语句并执行批量更新 |
SIMPLE|REUSE|CATCH
|
SIMPLE
|
defaultStatementTimeout
|
设置超时时间,他决定驱动等待数据库响应的秒数
|
integer
|
null
|
defaultFetchSize
|
默认返回的结果集大小
|
integer
|
null
|
safeRowBoundsEnabled
|
允许在嵌套语句中使用分页(RowBounds)
|
true|false
|
false
|
mapUnderscoreToCame
|
是否开启自动驼峰命名规则(camelcase)映射
|
true|false
|
false
|
localCacheScope
|
MyBatis利用本地缓存机制(LocalCache)防止循环引用(circular references)和加速重复嵌套查询.默认值为SESSION,这种情况下会缓存一个会话中执行的所有查询.若设置值为STATEMENT,则本地 会话仅用在语句执行上,对相同SqlSession的不同调用将不会共享数据
|
SESSION|STATEMENT
|
SESSION |
jdbcTypeForNull
|
当没有为参数提供特定的JDBC类型时,为空值指定JDBC类型.某些驱动需要指定列的JDBC类型,多数情况直接用一般类型即可,比如NULL,VARCHAR或OTHER
|
NULL|VARCHAR|OTHER
|
OTHER
|
lazyLoadTriggerMethods
|
指定哪个对象的方法触发一次延迟加载
|
方法名的list集合
|
equals.clone.hachCode,toString
|
defaultScriptingLanguage
|
指定动态SQL生成的默认语言
|
一个类型别名或完全限定类名
|
org.apache.ibatis.scripting.xmltags.XMLDynamicLanguageDriver
|
callSettersOnNulls
|
指定当结果集中值为null时是否调用映射对象的setter(map对象为put)方法,这对于有Map.keySet()依赖或null值初始化时是有用的,注意基本类型(int,boolean等)是不能设置成null的
|
true|false
|
false
|
logPrefix
|
指定MyBatis增加到日志名称的前缀
|
String
|
null
|
logImpl
|
指定MyBatis所用日志的具体实现,未指定时将自动查找
|
SLF4J|LOG4J|LOG4J2|K_LOGGING|COMMON_LOGGING|STDOUT_LOGGING|NO_LOGGING
|
null
|
proxyFactory
|
指定MyBatis创建具有延迟加载能力的对象所用到的代理工具 |
CGLIB|JAVASSIST
|
JAVASSIST
|