mybatis中的tting配置详解在mybaits中,tting的的配置参数如下(如果不在配置⽂件中配置将使⽤默认值):
设置参数描述有效值默认值
cacheEnabled 该配置影响的所有
映射器中配置的缓
存的全局开关
true | fal true
lazyLoadingEnabled 延迟加载的全局开
有故事的歌
关。当开启时,所
有关联对象都会延
迟加载。特定关联
关系中可通过设置
fetchType属性来覆
盖该项的开关状态
true | fal fal
aggressiveLazyLoading 当启⽤时,对任意
延迟属性的调⽤会
使带有延迟加载属
性的对象完整加
载;反之,每种属
性将会按需加载。
true | fal true
multipleResultSetsEnabled 是否允许单⼀语句
返回多结果集(需
要兼容驱动)。
true | fal true
uColumnLabel 使⽤列标签代替列
名。不同的驱动在
这⽅⾯会有不同的
表现,具体可参考
相关驱动⽂档或通
过测试这两种不同
的模式来观察所⽤炸油条放洗衣粉
驱动的结果。
true | fal true
uGeneratedKeys 允许 JDBC ⽀持⾃
动⽣成主键,需要
驱动兼容。如果设
置为 true 则这个设
置强制使⽤⾃动⽣
成主键,尽管⼀些
驱动不能兼容但仍
可正常⼯作(⽐如
Derby)。
true | fal Fal
autoMappingBehavior 指定 MyBatis 应如
何⾃动映射列到字
段或属性。 NONE
表⽰取消⾃动映
射;PARTIAL 只会
⾃动映射没有定义
嵌套结果集映射的
结果集。 FULL 会
⾃动映射任意复杂
的结果集(⽆论是
否嵌套)。
NONE, PARTIAL,
FULL
PARTIAL
defaultExecutorType 配置默认的执⾏
器。SIMPLE 就是
普通的执⾏器;
REUSE 执⾏器会
重⽤预处理语句
(prepared
statements);
BATCH 执⾏器将
重⽤语句并执⾏批
量更新。
SIMPLE REUSE
BATCH
SIMPLE
defaultStatementTimeout 设置超时时间,它
决定驱动等待数据
库响应的秒数。
Any positive integer Not Set (null)
Sets the driver a
hint as to control
defaultFetchSize hint as to control
fetching size for
建筑大学排名
return results. This
幼儿园小实验parameter value
can be override by
a query tting.
Any positive integer Not Set (null)
safeRowBoundsEnabled 允许在嵌套语句中
使⽤分页
(RowBounds)。
true | fal Fal
mapUnderscoreToCamelCa 是否开启⾃动驼峰
命名规则(camel
新年好的英语ca)映射,即从
经典数据库列名
A_COLUMN 到经
典 Java 属性名
aColumn 的类似映
射。
true | fal Fal
localCacheScope MyBatis 利⽤本地
缓存机制(Local
Cache)防⽌循环
引⽤(circular
references)和加
速重复嵌套查询。
默认值为
SESSION,这种情
况下会缓存⼀个会
话中执⾏的所有查
询。若设置值为
STATEMENT,本
地会话仅⽤在语句
执⾏上,对相同
SqlSession 的不同
调⽤将不会共享数
据。
SESSION |
STATEMENT
SESSION
jdbcTypeForNull 当没有为参数提供
特定的 JDBC 类型
时,为空值指定
JDBC 类型。某些
驱动需要指定列的
JDBC 类型,多数
情况直接⽤⼀般类
采访英语型即可,⽐如
NULL、
VARCHAR 或
OTHER。
JdbcType enumeration.
Most common are:
NULL, VARCHAR and
OTHER
OTHER
lazyLoadTriggerMethods 指定哪个对象的⽅
雪野水库
法触发⼀次延迟加
载。
A method name list
parated by commas
equals,clone,hashCode,toString
defaultScriptingLanguage指定动态 SQL ⽣成
的默认语⾔。A type alias or fully
qualified class name.
org.apache.ltags.XMLDynamicLanguageDriver
callSettersOnNulls 指定当结果集中值
为 null 的时候是否
调⽤映射对象的
tter(map 对象
时为 put)⽅法,
这对于有
Map.keySet() 依赖
或 null 值初始化的
时候是有⽤的。注
意基本类型(int、
boolean等)是不
让女生感动的情话
能设置成 null 的。
true | fal fal
logPrefix 指定 MyBatis 增加
到⽇志名称的前
缀。
Any String Not t
logImpl 指定 MyBatis 所⽤
⽇志的具体实现,
未指定时将⾃动查
SLF4J | LOG4J |
LOG4J2 |
JDK_LOGGING |
COMMONS_LOGGING
Not t
logImpl
未指定时将⾃动查
找。COMMONS_LOGGING
| STDOUT_LOGGING |
NO_LOGGING
Not t
proxyFactory 指定 Mybatis 创建
具有延迟加载能⼒
的对象所⽤到的代
理⼯具。
CGLIB | JAVASSIST JAVASSIST (MyBatis 3.3 or above)
在实际的应⽤中要根据⾃⼰的需求进⾏配置:
⽐如我在项⽬中的配置⼀般如下:
<ttings>
<tting name="jdbcTypeForNull" value="NULL" />
<tting name="logImpl" value="SLF4J" />
<tting name="mapUnderscoreToCamelCa" value="true" />
<tting name="defaultExecutorType" value="BATCH" />
</ttings>
注意点:有点的配置的log4j的⽇志打印不出sql语句时,不仅要检查log4j的配置⽂件,还有⼀点特别重要就是<tting
name="logImpl" value="SLF4J" />的配置,应该指明配置(如果⽤的是LOG4J),⽐如:
<configuration>
<ttings>
<tting name="logImpl" value="LOG4J"/>
</ttings>
</configuration>
总结
以上就是这篇⽂章的全部内容了,希望本⽂的内容对⼤家的学习或者⼯作能带来⼀定的帮助,如有疑问⼤家可以留⾔交流,谢谢⼤家对的⽀持。