Mybatis引數為0識別為空字串的查詢處理

2021-09-25 13:45:42 字數 801 閱讀 9624

最近專案開發中遇到一種查詢條件為0的情況,但是過程一波三折,經過大佬提示得以解決,同時也發現了mybatis對於引數0需要不同的處理。於是空閒後自己寫了個例子測試一下。

以此記錄,方便查詢。

*開發環境 ssm+springboot

引數為數字型別0

listselectbookbyprice(@param("price") integer price);
select * from books

price = #

select * from books

/*去掉price!=''的條件*/

price = #

則測試結果如下,符合要求

經測試得出:引數為integer型別的0時,mybtais會自動識別為『』(空字串)。

想要使integer的0符合條件則應該去掉該判斷,但是空字元的情況從而也會被忽略,這應該也是開發時應該注意的。

處理第一種 就是根據上面測試結果將n!=』'條件去掉。

第二種 將引數改為字串型別,同樣可以避免該問題,而且還不會漏判空字串的情況

**如下:

select * from books

price = #

測試結果與上面一樣,就不附圖

mybatis引數為0識別為空字串的查詢處理

最近專案開發中遇到一種查詢條件為0的情況,但是過程一波三折,經過大佬提示得以解決,同時也發現了mybatis對於引數0需要不同的處理。於是空閒後自己寫了個例子測試一下。以此記錄,方便查詢。經測試得出 引數為integer型別的0時,mybtais會自動識別為 空字串 想要使integer的0符合條件...

mybatis使用if判斷引數是否為空

1.判斷double型別 probability 在實體類中probability欄位是double型別 2.判斷integer型別 face value 在實體類中facevalue欄位是integer型別 3.判斷string型別 coupon name 在實體類中couponname是stri...

MyBatis引數為 還是

在xml中的字串替換,常用的是 但是也有人用 最簡單的理解是 解析的字串是帶雙引號的,而 是不帶雙引號的。然而差異並不僅如此 一般來說,在你的 裡面不變的字串,不需要mybatis去轉義和修改的話,可以這樣用 order by 即你的這個columnname不管怎麼著都是你的程式中寫的固定的字串 並...