mybatis常用默认配置
设置参数 | 描述 | 有效值 | 默认值 |
cacheEnable | 该配置影响所有映射器中配置的缓存全局开关 | true、false | true |
lazyLoadingEnable | 延迟加载的全局开关。当它开启时,所有关联对象都会延迟加载。特定关联关系中可通过设置fetchType属性来覆盖该项的开关状态 | true、false | false |
aggressiveLazyLoading | 当启用时,对任意延迟属性对象的调用会使带有延迟加载属性的对象完整加载,反之每种属性按需加载 | true、false | true |
multipleResultSets | 是否允许单一语句返回结果集(需要兼容驱动) | true、false | true |
useColumnLabel | 使用列标签代替列名, | true、false | true |
useGenerateKeys | 允许JDBC自动生成主键,需要驱动兼容。如果设置为true,则强制自动生成主键 | true、false | false |
autoMappingBehavior |
指定mybatis应如何自动映射列到字段或属性 PARTIAL:只会自动映射没有定义嵌套结果集映射的结果集 FULL:自动映射任务复杂的结果集(无论是否嵌套) |
NONE、PARTILA、FULL | PARTIAL |
defaultExecutorType |
配置默认的执行器 REUSE:执行器会重复利用预处理语句(prepared statements) BATCH:执行器将重用语句并执行批量更新 |
SIMPLE、REUSE、BATCH | SIMPLE |
defaultStatementTimeout | 设置超时时间,它决定驱动等待数据相应的秒数。当没有设置时它取得是驱动默认时间 | any position integer | |
safeRowBoundsEnabled | 允许在嵌套语句中使用分页 | true、false | false |
mapUnderscoreToCamelCase | 是否开启自动驼峰命名映射,即从数据库列名A_COLUMN到JAVA属性名aColumn的类似映射 | true、false | false |
localCacheScope |
mybatis利用本地缓存机制(local cache)防止循环引用(circular references)和加速重复嵌套查询。默认值是SESSIOn,这种情况下会缓存一个会话执行的所有查询。若设置为STATEMENT,本地会话仅仅用在语句执行上,对相同的sqlSession的不同调用将不会共享数据 |
SESSION、STATEMENT | SESSION |
jdbcTypeForNull | 当没有为参数提供特定的JDBC类型时,为空值指定JDBC类型 | 常见:NULL、VARCHAR、OTHER | OTHER |
lazyLoadTriggerMethod | 指定对象的方法触发一次延迟加载 | 如果是一个方法列表,则用逗号隔开 | equals、clone、hashCode、 |
defaultScriptingLanguage | 指定动态SQL生成的默认语言 | 可以配置类的别名或者类的全限定名 | org.apach.ibatis. scripting.xmltags. XMLDynamicLang uageDriver |
callSettersOnNulls | 当指定结果集中的值为null时是否调用映射对象的setter(map对应的put)方法,这对于有Map.keyset()依赖或null值初始化的时候是有用的。注意基本数据类型(int、boolean等)是不能设置为null的 | true、false | false |
logPrefix | 指定mybatis增加到日志名称的前缀 | 任何字符串 | 没有设置 |
logImpl | 指定mybatis所用日志的具体实现,未指定时自动查找 | ||
proxyFactory | 指定mybatis创建具有延迟加载功能的对象所用到的代理工具 | CGLIB、JAVASSIST | 3.3.0版本以上JAVASSIST。,否则CHLIB |