MyBatis settings属性详解

settings 设置

settings 属性是mybatis中极为重要的调整测试,会改变mybatis的运行时行为。

在大部分情况下不需要大量配置它,只需要修改一些常用的规则即可,比如自动映射、驼峰命名映射、级联规则、是否启动缓存、执行器(Executor)类型等

一个完整的settings配置如下:

<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="autoMappingBehavior" value="PARTIAL"/>
  <setting name="autoMappingUnknownColumnBehavior" value="WARNING"/>
  <setting name="defaultExecutorType" value="SIMPLE"/>
  <setting name="defaultStatementTimeout" value="25"/>
  <setting name="defaultFetchSize" value="100"/>
  <setting name="safeRowBoundsEnabled" value="false"/>
  <setting name="mapUnderscoreToCamelCase" value="false"/>
  <setting name="localCacheScope" value="SESSION"/>
  <setting name="jdbcTypeForNull" value="OTHER"/>
  <setting name="lazyLoadTriggerMethods" value="equals,clone,hashCode,toString"/>
</settings>

属性详解

cacheEnabled 是否开启全局缓存,默认值:true
mapUnderscoreToCamelCase是否开启驼峰命名自动映射,A_COLUMN 映射到 Java 属性名 aColumn。默认值为false
logImpl设置日志,value="LOG4J",指定 MyBatis 所用日志的具体实现,未指定时将自动查找
logPrefix指定 MyBatis 增加到日志名称的前缀。
lazyLoadingEnabled 是否开启懒加载,默认值:false
aggressiveLazyLoading 开启时不论调用什么方法加载某个对象,都会加载该对象的所有属性默认值:false
multipleResultSetsEnabledmapper配置中一个单个的sql配置是否能返回多个结果集 默认值:true 
useColumnLabel  是否使用列标签代替列名,默认值:true
useGeneratedKeys 强制使用自动生成主键的策略,默认值:false
autoMappingBehavior有三种方式none partial full, 
none:时将消失自动映射;
partial :时只会自动映射没有定义结果集的结果映射; 
full :时会映射任意复杂的结果集
默认值: partial
autoMappingUnknownColumnBehavior有三种动作none warning failing 
none:时不做任何操作 
warning: 时会输出提醒日志 
failing:时会抛出 sqlseesionexception 异常表示映射失败
默认值: none
defaultExecutorType  有三种执行器simple reuse batch 
simple :为普通执行器 
reuse:执行器会重用处理语句 
batch:执行器将重用语句并执行批量更新
默认值:simple 
defaultStatementTimeout 数据库驱动链接数据库超时时间,即等待数库回应的最大秒数 
默认值: 无 有效值 :任意整数
defaultFetchSize  防止从数据库查询出来的结果太多 而导致内存溢出 ,通过设置fetchSize 参数 来控制结果集的数量
默认值: 无 有效值:任意整数
lazyLoadTriggerMethods定对象的哪些方法触发一次延迟加载。属性值为用逗号分隔的方法列表。默认值为equals,clone,hashCode,toString;
proxyFactory 指定 Mybatis 创建可延迟加载对象所用到的代理工具。默认为Javassist
jdbcTypeForNull当没有为参数指定特定的 JDBC 类型时,空值的默认 JDBC 类型。某些数据库驱动需要指定列的 JDBC 类型,多数情况直接用一般类型即可,比如 NULL、VARCHAR 或 OTHER。属性值为jdbc常量,null,varchar,other,默认为other

其中cacheEnabled、mapUnderscoreToCamelCase、logImpl   常用。      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值