Mybatis中 if標籤判斷字符串

在做開發的時候遇到這樣一個問題:當傳入的type的值爲y的時候,if判斷內的sql也不會執行。

  <if test="type=='y'">  
        and status = 0   
   </if>

仔細想想:mybatis是使用的OGNL表達式來進行解析的,在OGNL的表達式中,’y’會被解析成字符,因爲java是強類型的,char 和 一個String 會導致不等。所以if標籤中的sql不會被解析。

所以,需要解決這個問題,只需要把代碼修改成:

<if test='type=="y"'>  //注意是雙引號,不是單引號!!!
    and status = 0   
</if> 

就可以執行了,這樣”y”解析出來是一個字符串,兩者相等!

https://blog.csdn.net/u012804886/article/details/80743610

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章