最近在項目開發的過程中,遇到了Mybatis的一個坑(也許是Mybatis有意這樣設計的),對於Integer或者Long這種引用數據類型,在做if判斷的時候,如果引用數據類型爲0,則mybatis將會視爲”“空字符串,所以走不進判斷邏輯裏。
以下餘額字段爲Long類型,availableAmount值爲0時,將走不進判斷方法內的示例截圖:
解決方法:
在test判斷條件中添加”or availableAmount==0“即可,以下是示例截圖:
或者在業務場景允許的情況下,只判斷availableAmount!=null
<if test="availableAmount!=null">
...
</if>