Mybatis配置文件(二):Settings配置

本文详细解析了MyBatis框架中的Settings配置项,包括自动映射、缓存、延迟加载等关键设置,以及如何通过XML配置文件进行自定义调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Settings是MyBatis中最复杂的配置,它们会修改MyBatis运行时的行为方式,大多数采用默认值即可,一般会修改的有:自动映射、驼峰命名映射、是否启动缓存等。
下表的设置信息来自于mybatis 官方文档:

设置参数描述有效值默认值
cacheEnabled这个配置使全局的映射器启用或禁用缓存。true | falsetrue
lazyLoadingEnabled全局启用或禁用延迟加载。 当禁用时,所有关联对象都会即时加载。true | falsetrue
aggressiveLazyLoading当启用时,有延迟加载属性的对象在被调用时将会完全加载任意属性。否则,每种属性将会按需要加载。true | falsetrue
multipleResultSetsEnabled允许或不允许多种结果集从一个单独的语句中返回(需要适合的驱动)。true | falsetrue
useColumnLabel使用列标签代替列名。不同的驱动在这方便表现不同。参考驱动文档或充分测试两种方法来决定所使用的驱动。true | falsetrue
useGeneratedKeys允许 JDBC 支持生成的键。需要适合的驱动。如果设置为 true 则这个设置强制生成的键被使用,尽管一些驱动拒绝兼容但仍然有效(比如 Derby)。true | falsefalse
autoMappingBehavior指定 MyBatis 如何自动映射列到字段/属性。 PARTIAL 只会自动映射简单,没有嵌套的结果。 FULL 会自动映射任意复杂的结果(嵌套的或其他情况)。NONE,PARTIAL,FULLPARTIAL
defaultExecutorType配置默认的执行器。 SIMPLE 执行器没有什么特别之处。 REUSE 执行器重用预处理语句。 BATCH 执行器重用语句和批量更新SIMPLE,REUSE,BATCHSIMPLE
defaultStatementTimeout设置超时时间,它决定驱动等待一个数据库响应的时间。任何正整数Not Set(null)

一个设置信息元素的示例,完全的配置如下:

<settings>
<setting name="cacheEnabled" value="true"/>
<setting name="lazyLoadingEnabled" value="true"/>
<setting name="multipleResultSetsEnabled" value="true"/>
<setting name="useColumnLabel" value="true"/>
<setting name="useGeneratedKeys" value="false"/>
<setting name="enhancementEnabled" value="false"/>
<setting name="defaultExecutorType" value="SIMPLE"/>
<setting name="defaultStatementTimeout" value="25000"/>
</settings>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值