Mybatis plus关闭驼峰命名,防止出现查询为Null!四种方法超详细解析!

本文详细介绍了在遇到Mybatis Plus因驼峰命名导致查询结果字段为Null的问题时,如何通过四种方法进行解决。包括配置文件关闭驼峰命名、修改实体类字段命名、初始化时设置全局配置以及在Springboot应用中关闭驼峰式编码的步骤。

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

问题

数据查询出后其中几个字段为null

img

解决方法:

数据库的字段命名方式为使用下划线连接,对应的实体类应该是驼峰命名方式,而我使用的是和数据库同样的命名方式。

img

所以mybatis-plus映射不到,修改实体类的字段命名方式为驼峰命名方式。

这是因为mybatis默认开启驼峰命名法,按规则数据表中的lastName字段应对应实体类中的last_name属性,而实体类中的lastName属性应对应数据表中的last_name字段

修改方法1

可以通过配置文件来关闭驼峰命名

我们可以通过configuration.map-underscore-to-camel-case: false 配置,去掉默认实现;

mybatis-plus:
  global-config:
    db-config:
      id-type: 0
      table-prefix: t_
      table-underline: false
  configuration:
    map-underscore-to-camel-case: false

修改方法2

解决方案:检查实体类中的字段是否存在下划线,将所有所有存在的下划线的字段,修改为标准的驼峰命名字段。如下图所示。在这里插入图片描述

修改方法3

在初始化的时候设置全局配置

image-20201029093750129

修改方法4(Springboot)

springboot :

\1. appliction.yml 里设置 关闭驼峰式编码

mybatis-plus:
 configuration:
  # 是否开启自动驼峰命名规则(camel case)映射,即从经典数据库列名 A_COLUMN(下划线命名) 到经典 Java 属性名 aColumn(驼峰命名) 的类似映射
  map-underscore-to-camel-case: false

\2. 设值全局匹配设置:

  <!-- MP 全局配置 -->
  <bean id="globalConfig" class="com.baomidou.mybatisplus.entity.GlobalConfiguration">
    <!-- 全局的主键策略 -->
    <property name="idType" value="0"/>
    <!--映射数据库下划线字段名到数据库实体类的驼峰命名的映射-->
    <property name="dbColumnUnderline" value="flase"/>
  </bean>

<property name="dbColumnUnderline" value="flase"/>

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值