症狀:在使用mybatis時,判斷int類型的值為0
前端和后端都可以獲取到值,但是在數據庫中就是不能更新
代碼如圖:
update t_mi <set> <if test="miStone != null and miStone != ''">miStone = #{miStone}</if> </set> where miId = #{miId}
一直都是用這種方式判斷的,但是昨天出現了問題,當miStone數值為0 是,條件一直不滿足,使用其他條件就可以插入進去,所以數據庫語句沒有錯誤
之后經過一番查找,在其他人的博客中找到了答案:
網上說:int類型的數據在設置為0時,mybatis自動轉換為null之后也進行了測試,但是依然判斷不滿足
最終解決方法:
update t_mi <set> <if test="miStone != null">miStone = #{miStone}</if> </set> where miId = #{miId}
mybatis進行int判斷是只需要判斷 int != null 就可以了
網上的也不能全信,也是會出現問題,可能問題不一樣。
轉載至: