Mybatis 字串比較的坑
阿新 • • 發佈:2021-01-22
問題
使用下例方法比較字串
<if test="status != null and status !='0'">
and STATUS=0
</if>
會出現兩個問題
- 當status值為“0”,test裡面的條件還是會滿足
- 當status值為“1,2,3”時,會報
java.lang.NumberFormatException
錯誤
原因:mybatis是使用OGNL表示式進行解析的,所以單個字元會被解析成char型別,java中char和String不相等
解決方法
將程式碼修改成
<if test='status != null and status !=" 0"'>
and STATUS=0
</if>