問題描述:當我遇到了字符串等值判斷的時候,坑來了
錯誤代碼鎮樓:
<choose>
<when test="pictureDTO.isFree = '是' ">
1,
</when>
<otherwise>
0,
</otherwise>
</choose>
首先,test表達式的等值判斷使用"==",弱智的我原以爲會和Mysql一樣用"=",然後insert的時候,字段賦值出現問題。
改正代碼一:
<choose>
<when test="pictureDTO.isFree == '是' ">
1,
</when>
<otherwise>
0,
</otherwise>
</choose>
其次,字符串的判斷,要用''裏面套"",的方式,因爲Mybatis是使用OGNL表達式來進行解析的。
改正代碼二:【正確代碼】
<choose>
<when test='pictureDTO.isFree = "是" '>
1,
</when>
<otherwise>
0,
</otherwise>
</choose>
後話:只是改正了錯誤,沒有深究,詳細的原因可以參考以下博文【排名分先後(手動狗頭)】