MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决

目录
  • LambdaQueryWrapper使用 int默认值问题
    • 问题现象
    • 解决方法
    • 问题分析
    • 小结一下
  • lambdaquerywrapper in使用样例
    • 直接使用列名报错
    • 下面这样ok

LambdaQueryWrapper使用 int默认值问题

问题现象

一顿操作,感觉不可能有问题,调试后发现,没传任何参数,日志里面居然有两个参数,

进入对象中发现

解决方法

  • int类型替换成
  • Integer 类型

问题消失

问题分析

1、了解一下int

int:

  • int 数据类型是32位、有符号的以二进制补码表示的整数;
  • 最小值是 -2,147,483,648(-2^31);
  • 最大值是 2,147,483,647(2^31 - 1);
  • 一般地整型变量默认为 int 类型;
  • 默认值是 0 ;
  • 例子:int a = 100000, int b = -200000。

2、了解一下Integer Integer 类的常量

Integer 类包含以下 4 个常量。

  • MAX_VALUE:值为 231-1 的常量,它表示 int 类型能够表示的最大值。
  • MIN_VALUE:值为 -231 的常量,它表示 int 类型能够表示的最小值。
  • SIZE:用来以二进制补码形式表示 int 值的比特位数。
  • TYPE:表示基本类型 int 的 Class 实例。

小结一下

1、int是基本数据类型,Integer是引用数据类型;

2、Ingeter是int的包装类,int的初值为0,Ingeter的初值为null;

lambdaquerywrapper in使用样例

直接使用列名报错

下面这样ok

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • mybatis-plus QueryWrapper自定义查询条件的实现

    mybatis-plus框架功能很强大,把很多功能都集成了,比如自动生成代码结构,mybatis crud封装,分页,动态数据源等等,附上官网链接https://mp.baomidou.com/,github上有代码例子,国内小伙伴推荐码云https://gitee.com/baomidou/mybatis-plus.  但是,其中还是有些小坑,文档也没有涉及的很全面,碰到问题,百度或者发issue,能力强的还是直接看源码好,一切答案都在源码中. 版本推荐用3.1.0,3.1.1及以上版本有bu

  • Mybatis-Plus 条件构造器 QueryWrapper 的基本用法

    前言 记录下Mybatis-Plus中条件构造器Wrapper 的一些基本用法. 查询示例 表结构 CREATE TABLE `product` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `title` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, `create_time` datetime DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`)

  • mybatis plus条件构造器queryWrapper、updateWrapper

    注明:上篇文章介绍了springboot+mybatis-plus通用CRUD的用法,这篇文章我们来介绍一下mybatis-plus强大的条件构造器.mybatis-plus的版本为最新版3.0.3 .条件构造器咱们讲述queryWrapper和updateWrapper的用法.关系.以及强大之处. 首先在这里写下官方文档的链接位置,官方文档说的很详细.如果还想知道在项目中的具体用法请往下看. 一.条件构造器关系介绍 介绍 : 1.上图绿色框为抽象类abstract 2.蓝色框为正常class类

  • MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决

    目录 LambdaQueryWrapper使用 int默认值问题 问题现象 解决方法 问题分析 小结一下 lambdaquerywrapper in使用样例 直接使用列名报错 下面这样ok LambdaQueryWrapper使用 int默认值问题 问题现象 一顿操作,感觉不可能有问题,调试后发现,没传任何参数,日志里面居然有两个参数, 进入对象中发现 解决方法 int类型替换成 Integer 类型 问题消失 问题分析 1.了解一下int int: int 数据类型是32位.有符号的以二进制补

  • MyBatis-Plus不使用数据库默认值的问题及解决

    目录 MyBatis-Plus不使用数据库默认值的问题 Navicat截图如下(网络图片) MyBatis-Plus如何设置呢? 只使用MyBatis-Plus的注解,而不用配置数据库 解决 MyBatis-Plus不使用数据库默认值的问题 有时候我们在设计数据表时希望某些字段使用默认值,比如create_time.和update_time这样在数据库中设置: `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `up

  • Python的类成员变量默认初始值的坑及解决

    目录 类成员变量默认初始值的坑 问题发现 示例代码 结果 原因 解决方法 Python默认值参数 简单粗暴上代码 可以用下面这种写法 类成员变量默认初始值的坑 问题发现 一个循环内,缺省值初始化同名变量,其中的list成员不是空,会延续之前同名变量的值. 示例代码 # Define class class Variant():     # use     def __init__(self, price = 500, description = 'default description', va

  • mybatis-plus 插入修改配置默认值的实现方式

    目录 创建 插入修改默认值设置方法 mybatis-plus添加默认值 创建 插入修改默认值设置方法 @Component public class MetaObjectHandlerConfig implements MetaObjectHandler {       @Override     public void insertFill(MetaObject metaObject) {         Date currentDate = new Date();         //默认未

  • 关于element-ui 单选框默认值不选中的解决

    目录 element-ui 单选框默认值不选中 看我的下图吧 element-ui单选框组件,默认选中无效 element-ui 单选框默认值不选中 初次使用elementui单选框 发现一个问题 按照官网的案例 我cv过来 发现不对劲  怎么默认值不选中 如下图 ,难道我cv没cv正确??? 心里那个气啊,难道我发现了element-ui bug了???好的在cv一遍 还是发现默认值不选中,我就好 好看el-radio各个属性,依然百思不得其解,后来研究了一下,原来是自己的菜导致默认值不选中的

  • 使用Lombok @Builder注解导致默认值无效的问题

    目录 @Builder注解导致默认值无效 原因分析 lombok@Builder忽略属性默认值的坑点 1. 简单使用 2. 默认值问题 3. 修改属性值 @Builder注解导致默认值无效 使用Lombok注解可以极高的简化代码量,比较好用的注解除了@Data之外,还有@Builder这个注解,它可以让你很方便的使用builder模式构建对象,但是今天发现@Builder注解会把对象的默认值清掉. 像下面这段代码,会导致对象的name属性变为null: public class BuilderT

  • Java八种基本变量作为类的成员变量的默认值操作

    目录 Java类成员变量的默认值 下面我们看看我们的八种数据类型的默认值是什么样的 总结 boolean型变量的默认值问题 1.首先分析Java中的三种不同变量的区别 2.然后判断boolean型变量的类型 Java类成员变量的默认值 基本数据类型作为类的成员变量时可以不赋予初值,在方法中输出也不会报错. 下面我们看看我们的八种数据类型的默认值是什么样的 上代码 package objectandclass; import java.awt.SecondaryLoop; public class

  • 解决JPA save()方法null值覆盖掉mysql预设的默认值问题

    目录 JPA save()方法null值覆盖掉mysql预设的默认值 覆盖原因 解决办法 data jpa动态插入(null为sql默认值,utime自动更新 ) JPA save()方法null值覆盖掉mysql预设的默认值 覆盖原因 save()方法在没有参数传进去的时候默认是null值,而mysql表中该字段设置为可以为null值,这时虽然我们设置了默认值,可null值还是会把默认值覆盖掉. 解决办法 将该字段设置为不允许null值即可,这样null值就会被替换为默认值. data jpa

  • 使用JavaBean根据指定条件设置属性值默认值方式

    目录 JavaBean根据指定条件设置属性值默认值 使用场景 使用范围 使用示例 JavaBean对象成员变量默认值及数组默认值 JavaBean根据指定条件设置属性值默认值 使用场景 当bean数据中已经装配好其他数据,在逻辑以及数据转换完成的最后一步进行数据默认值设置:如果bean的属性较少,可以手动写if条件就行了,如果bean的属性太多,你不希望写太多if的时候,这个方法是很不错的方法: 使用范围 仅限于当前类,不能给父类设置值 也是参考了其他博主的方法,做的优化和修改,由于时间过了很长

  • Mybatis插入语句默认值不生效的问题及解决

    目录 Mybatis插入语句默认值不生效 问题 原因 解决 Mybatis-plus插入修改配置默认值 创建 插入修改默认值设置方法 指定字段 Mybatis插入语句默认值不生效 问题 Mybatis插入语句默认值不生效,但直接在mysql命令行是生效的 Mybatis语句:insert into UserInfo (userName,age,sex) values (#{userName},#{age},#{sex}) 其中 只给userName和age传入值,sex没有传入值,期望用默认值(

随机推荐