Mybatis中if判斷遇到的坑

最近在項目開發的過程中,遇到了Mybatis的一個坑(也許是Mybatis有意這樣設計的),對於Integer或者Long這種引用數據類型,在做if判斷的時候,如果引用數據類型爲0,則mybatis將會視爲”“空字符串,所以走不進判斷邏輯裏。

以下餘額字段爲Long類型,availableAmount值爲0時,將走不進判斷方法內的示例截圖:

這裏寫圖片描述

解決方法:

在test判斷條件中添加”or availableAmount==0“即可,以下是示例截圖:

這裏寫圖片描述

或者在業務場景允許的情況下,只判斷availableAmount!=null

<if test="availableAmount!=null">
    ...
</if>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章