天天看點

開發中遇到的問題---【當類型設定為Integer時,傳入的值為0,會将其轉化為空字元串,進而造成查詢資料異常】

問題:今天在寫一個普通的查詢,條件查詢狀态為0時,查詢總是異常,debug擷取的參數都沒問題,但查詢後的結果是查詢所有的資料

開發中遇到的問題---【當類型設定為Integer時,傳入的值為0,會将其轉化為空字元串,進而造成查詢資料異常】

 sql日志:select * from mobile_info WHERE LIMIT ? 

原因:當資料類型設定為Integer,傳入的值為0時,在mybatis會将其轉化為空字元串,進而無法進入if标簽中進行查詢。在資料庫可視化工具中,當輸入的batchStatus=0或者空字元串查詢的結果是相同的。 當去掉mapper中的sql語句

and ispType != ''      

時,就可以查詢了(即使在初始化查詢的時候,也不受影響,因為初始加載頁面各個條件預設為null)

開發中遇到的問題---【當類型設定為Integer時,傳入的值為0,會将其轉化為空字元串,進而造成查詢資料異常】