MyBatis-Plus(四)~使用过程中的配置选项(进阶配置)
二、进阶配置
本部分(Configuration)的配置大都为 MyBatis 原生支持的配置,这意味着您可以通过 MyBatis XML 配置文件的形式进行配置。
(1)、mapUnderscoreToCamelCase
- 类型:
boolean
- 默认值:
true
是否开启自动驼峰命名规则(camel case)映射,即从经典数据库列名 A_COLUMN(下划线命名) 到经典 Java 属性名 aColumn(驼峰命名) 的类似映射。
注意:
此属性在 MyBatis 中原默认值为 false,在 MyBatis-Plus 中,此属性也将用于生成最终的 SQL 的 select body
如果您的数据库命名符合规则无需使用
@TableField注解指定数据库字段名
(2)、aggressiveLazyLoading
- 类型:
boolean
- 默认值:
true
当设置为 true 的时候,懒加载的对象可能被任何懒属性全部加载,否则,每个属性都按需加载。需要和 lazyLoadingEnabled 一起使用。
1.Spring Boot:
mybatis-plus:
configuration:
aggressive-lazy-loading: true
2.Spring MVC:
<bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean">
<property name="configuration">
<bean class="com.baomidou.mybatisplus.core.MybatisConfiguration">
<property name="aggressiveLazyLoading" value="true"/>
</bean>
</property>
</bean>
(3)、autoMappingBehavior
- 类型:
AutoMappingBehavior
- 默认值:
partial
MyBatis 自动映射策略,通过该配置可指定 MyBatis 是否并且如何来自动映射数据表字段与对象的属性,总共有 3 种可选值:
- AutoMappingBehavior.NONE:不启用自动映射
- AutoMappingBehavior.PARTIAL:只对非嵌套的 resultMap 进行自动映射
- AutoMappingBehavior.FULL:对所有的 resultMap 都进行自动映射
1.Spring Boot:
mybatis-plus:
configuration:
auto-mapping-behavior: partial
2.Spring MVC:
<bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean">
<property name="configuration">
<bean class="com.baomidou.mybatisplus.core.MybatisConfiguration">
<property name="autoMappingBehavior" value="PARTIAL"/>
</bean>
</property>
</bean>
(4)、autoMappingUnknownColumnBehavior
- 类型:
AutoMappingUnknownColumnBehavior
- 默认值:
NONE
MyBatis 自动映射时未知列或未知属性处理策略,通过该配置可指定 MyBatis 在自动映射过程中遇到未知列或者未知属性时如何处理,总共有 3 种可选值:
- AutoMappingUnknownColumnBehavior.NONE:不做任何处理 (默认值)
- AutoMappingUnknownColumnBehavior.WARNING:以日志的形式打印相关警告信息
- AutoMappingUnknownColumnBehavior.FAILING:当作映射失败处理,并抛出异常和详细信息
1.Spring Boot:
mybatis-plus:
configuration:
auto-mapping-unknown-column-behavior: none
2.Spring MVC:
<bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean">
<property name="configuration">
<bean class="com.baomidou.mybatisplus.core.MybatisConfiguration">
<property name="autoMappingUnknownColumnBehavior" value="NONE"/>
</bean>
</property>
</bean>
(5)、cacheEnabled
- 类型:
boolean
- 默认值:
true
全局地开启或关闭配置文件中的所有映射器已经配置的任何缓存,默认为 true。
1.Spring Boot:
mybatis-plus:
configuration:
cache-enabled: true
2.Spring MVC:
<bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean">
<property name="configuration">
<bean class="com.baomidou.mybatisplus.core.MybatisConfiguration">
<property name="cacheEnabled" value="true"/>
</bean>
</property>
</bean>
(6)、callSettersOnNulls
- 类型:
boolean
- 默认值:
false
指定当结果集中值为 null 的时候是否调用映射对象的 Setter(Map 对象时为 put)方法,通常运用于有 Map.keySet() 依赖或 null 值初始化的情况。
通俗的讲,即 MyBatis 在使用 resultMap 来映射查询结果中的列,如果查询结果中包含空值的列,则 MyBatis 在映射的时候,不会映射这个字段,这就导致在调用到该字段的时候由于没有映射,取不到而报空指针异常。
当您遇到类似的情况,请针对该属性进行相关配置以解决以上问题。
注意:基本类型(int、boolean 等)是不能设置成 null 的。
1.Spring Boot:
mybatis-plus:
configuration:
call-setters-on-nulls: false
2.Spring MVC:
<bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean">
<property name="configuration">
<bean class="com.baomidou.mybatisplus.core.MybatisConfiguration">
<property name="callSettersOnNulls" value="false"/>
</bean>
</property>
</bean>
(7)、configurationFactory
- 类型:
Class<?>
- 默认值:
null
指定一个提供 Configuration 实例的工厂类。该工厂生产的实例将用来加载已经被反序列化对象的懒加载属性值,其必须包含一个签名方法
static Configuration getConfiguration()。(从 3.2.3 版本开始)
1.Spring Boot:
mybatis-plus:
configuration:
configuration-factory: com.xxx.SampleConfigurationFactory
2.Spring MVC:
<bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean">
<property name="globalConfig">
<bean class="com.baomidou.mybatisplus.core.config.GlobalConfig">
<property name="configurationFactory" value="com.xxx.SampleConfigurationFactory"/>
</bean>
</property>
</bean>
转载于:https://my.oschina.net/tobeexpertismydream/blog/2983483
- 点赞
- 收藏
- 分享
- 文章举报
- MyBatis-Plus(五)~使用过程中的配置选项(全局策略配置)
- springboot+mybatisplus(使用总结,配置总结!!!干货...)
- 使用sp_configure 系统存储过程,设置服务器配置选项
- 【MyBatis源码分析】TypeHandler解析属性配置元素详述及相关枚举使用高级进阶
- Mybatis-Plus配置和使用
- mybatis-plus-boot的相关配置和使用
- 【mybatis-plus3.06】(最新版)基于SSM实现分页插件配置与使用
- 使用sp_configure 系统存储过程,设置服务器配置选项
- 使用SQLServer2000 发送邮件详细配置过程
- 使用SQLServer2000 发送邮件详细配置过程
- VSS2005的使用与配置过程
- MYSQL学习笔记(5)配置:使用选项文件
- Oracle RAC安装过程中所使用的一些配置
- oracle过程中的authid definer/current_user选项使用
- Ubuntu12.04下配置安装Qt4.6.3 及移植到mini2440开发板及其使用全过程
- 用户系列之四:用户登录过程之配置文件的使用详解
- log4j配置和使用过程
- 使用win7 下snmp的配置过程:
- Windows下安装和配置netbeans以使用C/C++全过程
- Synplify 使用过程中最常用的选项及命令的介绍