1. 程式人生 > 其它 >Mybatis 字串比較的坑

Mybatis 字串比較的坑

技術標籤:Java相關mybatis

問題

使用下例方法比較字串

<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>