Mybatis plus关闭驼峰命名的四种方法(防止出现查询为Null)

目录
  • 问题
  • 解决方法:
    • 修改方法1
    • 修改方法2
    • 修改方法3
    • 修改方法4(Springboot)

问题

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

解决方法:

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

所以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

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

修改方法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"/>

到此这篇关于Mybatis plus关闭驼峰命名的四种方法(防止出现查询为Null)的文章就介绍到这了,更多相关Mybatis plus关闭驼峰命名内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 解决mybatis plus 驼峰式命名规则问题

    在我们使用mybatis plus 时, mybatis plus 可以帮我们自动封装我们的实体类用来查询添加,当我们遇见我们的尸体类名与我们的表字段是驼峰写法时: 我们在数据库的字段名也是 userCode 但是如果我们不设置mybstis plus 默认的驼峰式编码在mybatis plus 则会默认把驼峰式编码写成 user_code, 这种下划线格式的字段, 这时你会发现你的代码会出错,它会提示你user_code字段不存在 解决方案: springboot : 1. applictio

  • mybatisplus解决驼峰命名映射问题详解

    问题的提出 今天我在测试mybatis的时候,发现查询出来的一些字段为null,而且这些字段都是驼峰命名了的.所以我首先就想到了是数据库表字段和类映射出了问题. 解决办法 一.理解spring-mybatis.xml中关于驼峰命名的配置 mybatisplus是mybatis的升级版,所以配置还是有点儿差别,如果是mybatis的话,直接在configuration中配置就行了,如下: <?xml version="1.0" encoding="UTF-8"?

  • mybatis-plus的selectById(或者selectOne)在根据主键ID查询实体对象的时候偶尔会出现null的问题记录

    mybatis-plus的selectById/selectOne查询结果偶尔出错(为null)的问题记录 错误截图: 亲测重复执行此段代码10次中大概会有连续的2次出现结果为null的情况. 由于后续还需引用到这个查询结果的某些字段信息,会导致程序出现空指针异常,故投机取巧做了如下处理(加了一个while循环让其一直执行selectById(或者selectOne)直到查询结果不为空): 但这终归不是从根本上解决了问题.我也不清白他出现这个问题的根本原因是什么. 到此这篇关于mybatis-p

  • Mybatis plus关闭驼峰命名的四种方法(防止出现查询为Null)

    目录 问题 解决方法: 修改方法1 修改方法2 修改方法3 修改方法4(Springboot) 问题 数据查询出后其中几个字段为null 解决方法: 数据库的字段命名方式为使用下划线连接,对应的实体类应该是驼峰命名方式,而我使用的是和数据库同样的命名方式. 所以mybatis-plus映射不到,修改实体类的字段命名方式为驼峰命名方式. 这是因为mybatis默认开启驼峰命名法,按规则数据表中的lastName字段应对应实体类中的last_name属性,而实体类中的lastName属性应对应数据表

  • Oracle连接远程数据库的四种方法

    Oracle数据库的远程连接可以通过多种方式来实现,本文我们主要介绍四种远程连接的方法和注意事项,并通过示例来说明,接下来我们就开始介绍 第一种方法: 若oracle服务器装在本机上,那就不多说了,连接只是用户名和密码的问题了. 不过要注意环境变量%ORACLE_HOME%/network/admin/是否设置. 第二种方法: 本机未安装oracle服务器,也未安装oracle客户端.但是安装了pl sql development.toad sql development.sql navigat

  • Vue 实现双向绑定的四种方法

    1. v-model 指令 <input v-model="text" /> 上例不过是一个语法糖,展开来是: <input :value="text" @input="e => text = e.target.value" /> 2. .sync 修饰符 <my-dialog :visible.sync="dialogVisible" /> 这也是一个语法糖,剥开来是: <my

  • VUE的tab页面切换的四种方法

    1.静态实现方法: 效果图: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="widt

  • ASP.NET 使用 Dispose 释放资源的四种方法详细介绍

    目录 1. 创建一个实现 IDisposable 接口的类 2. 使用 "using" 语句处理 IDisposable 对象 3. 在请求结束时处理 IDisposable 对象 4. 使用内置的 IoC 容器处理 IDisposable 对象 5. 使用 IHostApplicationLifetime 事件处理 IDependency 对象 ASP.NET 使用 Dispose 释放资源的四种方法 Dispose 和 Finalize 是运行的 .NET 和 .NET Core

  • Vue项目中打包优化的四种方法详解

    目录 前言 打包优化的目的: 性能优化的主要方向: 1.异步组件配置(路由懒加载) 2.去掉打包后的 console 3.使用CDN 4.yarn build生成dist目录 总结 前言 默认情况下,通过import语法导入的第三方依赖包,最终会全部打包到一个js文件中,会导致单文件体积过大大,在网速底下时会阻塞网页加载,影响用户体验. 打包优化的目的: 1.项目启动速度,和性能 2.必要的清理数据 3.减少打包后的体积 第一点是核心,第二点呢其实主要是清理console 性能优化的主要方向:

  • 修改MySQL密码的四种方法总结(适合初学者!)

    目录 前言 方法1:用set password命令 方法2:用mysqladmin 方法3:用update直接编辑user表 方法4:忘记密码处理方式 结束语 前言 作为初学者,对于MySQL密码的修改,目前我已知的有四种方法:前三种是在知道密码的情况下修改,因为需要我们先登录:最后一种适合忘记密码的情况下进行修改! 方法1:用set password命令 (1)首先要先登录MySQL: (2)修改密码格式为: set password for 用户名@localhost = password(

  • AJAX跨域请求数据的四种方法(实例讲解)

    由于浏览器的同源策略 ajax请求不可以接收到请求响应回来的数据 请求数据需要调用浏览器的内置构造函数 XMLHttpRequest() 进行 实例对象 var xhr = new XMLHttpRequest(); 注意点 在IE8之前支持的 ActiveXobject("Microsoft.XMLHTTP");  记住要进行兼容处理哦  在这里我就不写了 通过该对象进行获取 获取数据的四种状态  xhr.readyState 该属性保存着请求数据的几种状态 1.xhr.open(请

  • java map遍历的四种方法总结

    整理了关于java中map的遍历的四种方法: import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Map.Entry;import java.util.Set;publicclassMapTest{privateMap<String,String> map;publicMapTest(){  map =newHashMap<String,String>();

  • iOS中设置view圆角化的四种方法示例

    前言 在最近进行项目性能优化的过程中,遇到view圆角优化的问题,有一些粗略的看法,现总结一下.分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 设置圆角目前知道的有四种方法: 1.通过shapeLayer设置 2.通过view的layer设置 3.通过BezierPath设置 4.通过贴图的方式设置 1.shapeLayer的实现 通过bezizerpath设置一个路径,加到目标视图的layer上.代码如下: // 创建一个view UIView *showView = [[U

随机推荐