關于Mybatis-Plus的LambdaQueryWrapper的實際使用問題
哈嘍,老師,在看了老師的教程后在項目中引入了Mybatis-Plus。想請教一個實際使用上的問題。
Q1:在第一個紅色框中,我使用的這個notIn需要判斷傳入的值是否為空的。不然會報錯,是否有更好的方法;
Q2:在第二個紅色框中,我使用的deleteBatchIds傳入的值也需要判斷下是否為空的,不然也會報sql的錯誤;
上面的兩個問題,主要是想問下有沒有更好的方法,還是說就是按照上圖代碼的解決方式。
下圖是報錯的問題,應該是因為傳入的參數為空的時候拼接sql出錯了
先謝謝老師了?。。???
2019-07-12
? ? ? ?關于第一個問題,你可以使用,第一個參數為condition的notIn方法,如果condition為false,該條件就不會加入到sql中。
? ? ? ?我寫了個類似的例子,供你參考。
? ? ? ?lambdaQuery.notIn(problemIds.size() > 0, User::getAge , problemIds);
? ? ? ?關于第二個問題,我沒有太好的解決辦法,因為該方法要求idList 主鍵ID列表(不能為 null 以及 empty)。所以得先做一下非空非empty判斷??梢允褂肕P提供的工具類進行判斷,代碼如下:
if(CollectionUtils.isEmpty(needDelIds)) {
//你的刪除業務邏輯
}