当前位置: 首页 > news >正文

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

问题

数据查询出后其中几个字段为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"/>

相关文章:

  • Spring体系结构超详细解析!
  • 自然语言处理系列之: NLP基础
  • 自然语言处理系列之:中文分词技术
  • 自然语言处理系列之:词性标注与命名实体识别
  • 自然语言处理系列之: 关键词提取算法
  • 自然语言处理系列之: 句法分析
  • 自然语言处理系列之:文本向量化
  • 自然语言处理系列之: 实战电影评论情感分析
  • 自然语言处理系列之: NLP中用到的机器学习算法
  • Java网络编程:UDP套接字程序设计,UDP实现Socket通信(附完整代码实现)
  • Java网络编程:邮件发送程序设计,SMPT传输协议实现(完整代码实现)
  • java网络编程:基于HTTP的下载程序设计及web浏览器制作(完整代码实现)
  • Java网络编程:Socket实现的扫描程序设计 (完整代码实现)
  • 为什么要学习设计模式?看完这篇你就懂了!
  • 使用Wps切分单页PDF文件为多页pdf
  • 收藏网友的 源程序下载网
  • 【技术性】Search知识
  • Less 日常用法
  • Lsb图片隐写
  • Redis的resp协议
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • 成为一名优秀的Developer的书单
  • 再次简单明了总结flex布局,一看就懂...
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • #android不同版本废弃api,新api。
  • #HarmonyOS:Web组件的使用
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • $NOIp2018$劝退记
  • (2)(2.10) LTM telemetry
  • (C语言)逆序输出字符串
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (第一天)包装对象、作用域、创建对象
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (推荐)叮当——中文语音对话机器人
  • (一)为什么要选择C++
  • (转)用.Net的File控件上传文件的解决方案
  • (轉)JSON.stringify 语法实例讲解
  • ******IT公司面试题汇总+优秀技术博客汇总
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)
  • .net6使用Sejil可视化日志
  • .Net各种迷惑命名解释
  • .NET开发者必备的11款免费工具
  • .so文件(linux系统)
  • @EnableConfigurationProperties注解使用
  • [ IOS ] iOS-控制器View的创建和生命周期
  • []FET-430SIM508 研究日志 11.3.31
  • [BZOJ 1040] 骑士
  • [BZOJ1089][SCOI2003]严格n元树(递推+高精度)
  • [hive] sql中distinct的用法和注意事项
  • [HXPCTF 2021]includer‘s revenge
  • [IE技巧] 让IE 以全屏模式启动
  • [IE技巧] 如何关闭Windows Server版IE的安全限制