MybatisPlus LambdaQueryWrapper使用int默認值的坑及解決

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

在這裡插入圖片描述

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: