MyBatis 实际使用案例-settings

最后settings 我们来单独说一下,因为MyBatis 的一些最关键的配置都在这个标签里面(只讲解一些主要的)。

属性名含义简介有效值默认值
cacheEnabled是否使用缓存是整个工程中所有映射器配置缓存的
开关,即是一个全局缓存开关
true/falsetrue
lazyLoadingEnabled是否开启延迟加载控制全局是否使用延迟加载
(association、collection)。当有
特殊关联关系需要单独配置时,可以使
用fetchType 属性来覆盖此配置
true/falsefalse
aggressiveLazyLoadi
ng
是否需要侵入式延
迟加载
开启时,无论调用什么方法加载某个对
象,都会加载该对象的所有属性,关闭
之后只会按需加载
true/falsefalse
defaultExecutorType设置默认的执行器有三种执行器:SIMPLE 为普通执行器;
REUSE 执行器会重用与处理语句;
BATCH 执行器将重用语句并执行批量
更新
SIMPLE/REUSE/BAT
CH
SIMPLE
lazyLoadTriggerMeth
ods
指定哪个对象的方
法触发一次延迟加
配置需要触发延迟加载的方法的名字,
该方法就会触发一次延迟加载
一个逗号分隔的方
法名称列表
equals,
clone,
hashCode,
toString
localCacheScopeMyBatis 利用本地
缓存机制(Local
Cache)防止循环引
用(circular
references)和加
速重复嵌套查询
默认值为SESSION,这种情况下会缓存
一个会话中执行的所有查询。若设置值
为STATEMENT,本地会话仅用在语句执
行上,对相同SqlSession 的不同调用
将不会共享数据
SESSION/STATEMEN
T
SESSION
logImpl日志实现指定MyBatis 所用日志的具体实现,未
指定时将自动查找
SLF4J、LOG4J、
LOG4J2、
JDK_LOGGING、
COMMONS_LOGGING、
STDOUT_LOGGING、
NO_LOGGING
multipleResultSetsE
nabled
是否允许单一语句
返回多结果集
即Mapper 配置中一个单一的SQL 配置
是否能返回多个结果集
true/falsetrue
useColumnLabel使用列标签代替列
设置是否使用列标签代替列名true/falsetrue
useGeneratedKeys是否支持JDBC 自
动生成主键
设置之后,将会强制使用自动生成主键
的策略
true/falsefalse
autoMappingBehavior指定MyBatis 自动映射字段或属性的
方式
有三种方式,NONE 时将取消自动映射;PARTIAL 时只会自动映射没有定义结
果集的结果映射;FULL 时会映射任意
复杂的结果集
NONE/PARTIAL/FULLPARTIAL
autoMappingUnknownC
olumnBehavior
设置当自动映射时
发现未知列的动作
有三种动作:NONE 时不做任何操作;
WARNING 时会输出提醒日志;FAILING
时会抛出SqlSessionException 异常
表示映射失败
NONE/WARNING/FAI
LING
NONE
defaultStatementTim
eout
设置超时时间该超时时间即数据库驱动连接数据库
时,等待数据库回应的最大秒数
任意正整数
defaultFetchSize设置驱动的结果集
获取数量
(fetchSize)的提
示值
为了防止从数据库查询出来的结果过
多,而导致内存溢出,可以通过设置
fetchSize 参数来控制结果集的数量
任意正整数
safeRowBoundsEnable
d
允许在嵌套语句中
使用分页
(RowBound,即行
内嵌套语句)
如果允许在SQL 的行内嵌套语句中使
用分页,就设置该值为false
true/falsefalse
safeResultHandlerEn
abled
允许在嵌套语句中
使用分页
(ResultHandler,
即结果集处理)
如果允许在SQL 的结果集使用分页,就
设置该值为false
true/falsetrue
mapUnderscoreToCame
lCase
是否开启驼峰命名
规则(camel case)
映射
表明数据库中的字段名称与工程中
Java 实体类的映射是否采用驼峰命名
规则校验
true/falsefalse
jdbcTypeForNullJDBC 类型的默认设
当没有为参数提供特定的JDBC 类型
时,为空值指定JDBC 类型。某些驱动
需要指定列的JDBC 类型,多数情况直
接用一般类型即可,比如NULL、
VARCHAR 或OTHER
常用NULL、
VARCHAR、OTHER
OTHER
defaultScriptingLan
guage
动态SQL 默认语言指定动态SQL 生成的默认语言指定动态SQL 生成的默认语言一个类型别名或者
一个类的全路径名
org.apach
e.ibatis.
scripting
.xmltags.
XMLLangua
geDriver
callSettersOnNulls是否在控制情况下
调用Set 方法
指定当结果集中值为null 时是否调用
映射对象的setter(map 对象时为put)
方法,这对于有Map.keySet()依赖或
null 值初始化时是有用的。注意基本
类型是不能设置成null 的
true/falsefalse
returnInstanceForEm
ptyRow
返回空实体集对象当返回行的所有列都是空时,MyBatis
默认返回null。当开启这个设置时,
MyBatis 会返回一个空实例。请注意,
它也适用于嵌套的结果集(从
MyBatis3.4.2 版本开始)
true/falsefalse
logPrefix日志前缀指定MyBatis 所用日志的具体实现,未
指定时将自动查找
任意字符串
vfsImplvfs 实现指定vfs 的实现自定义VFS 的实现
的类的全限定名,
以逗号分隔
useActualParamName使用方法签名使用方法签名允许使用方法签名中的名称作为语句
参数名称。要使用该特性,工程必须采
用Java8 编译,并且加上-parameters
选项(从MyBatis3.4.1 版本开始)
自定义VFS 的实现
的类的全限定名,
以逗号分隔
configurationFactor
y
配置工厂指定提供配置示例的类。返回的配置实
例用于加载反序列化的懒加载参数。这
个类必须有一个签名的静态配置
getconfiguration()方法(从
MyBatis3.2.3 版本开始)
一个类型别名或者
一个类型的全路径

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值