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

目录

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

LambdaQueryWrapper使用 int默认值问题
问题现象
MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
文章图片

一顿操作,感觉不可能有问题,调试后发现,没传任何参数,日志里面居然有两个参数,
进入对象中发现
MybatisPlus|MybatisPlus 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使用样例
直接使用列名报错
MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
文章图片


下面这样ok
MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
文章图片

【MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决】以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

    推荐阅读