Mybatis if test 字串比較不生效
阿新 • • 發佈:2019-02-06
<if test="publishType!='2'">
and t.status='3'
and t.has_attachment='YES'
</if>
其中publishType為傳來的String型別引數,想比較其不等於字串2,但是判斷不生效
原因:
單引號是char型別,雙引號是string型別!
char表示字元,定義時使用用單引號表示,只能儲存一個字元。
而String表示字串,定義時使用雙引號表示,可以儲存0個或多個字元,其實string型別就是char型別的陣列表現形式。
所以'2'被認為是char型別,和String型別不相等
解決方法:
1.改成雙引號
<if test='publishType!="2"'>
and t.status='3'
and t.has_attachment='YES'
</if>
2.加.toString()方法
<if test="publishType!='2'.toString()">
and t.status='3'
and t.has_attachment='YES'
</if>