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。
推薦閱讀:
- MyBatisPlus超詳細分析條件查詢
- MyBatis-Plus QueryWrapper及LambdaQueryWrapper的使用詳解
- mybatis-plus查詢方式,部分字段沒有值
- Java中關於size()>0 和isEmpt()的性能考量
- MybatisPlus多表連接查詢的問題及解決方案