mybatis中進行條件判斷字符串時這樣寫是不對的,雖然此寫法不會直接引起異常但會造成無法判斷從而忽略該條件表達式(別讓參考博客3誤導了)
<if test="yanan !=null and yanan != 'XXX'">
需要將單雙引號交換一下位置,正確寫法如下:
<if test='yanan !=null and yanan != "XXX"'>
或者
<if test="yanan !=null and yanan != 'XXX'.toString()">
因為mybatis映射文件,是使用的ognl表達式,ognl是java語言(強類型語言),會把‘X’解析成字符,而不是字符串。
因此,進行條件判斷時也可使用java.lang.String的方法,如下:
<if test='yanan.indexOf(",") != -1'>