mybatis我們常用的判空操作,出現了常見問題:
錯誤寫法:if test=”status == ‘Y'”
結果:拋異常NumberFormatException異常!提示內容非常少,看不出問題在哪里!
正確寫法:if test='status == “y”'
還可以這樣寫:if test=”status == ‘y'.toString()”
或者可以這樣寫 if test ='status==”Y”'
補充:Mybatis3 判斷字符串
在使用Mybatis3過程中發現一個奇怪的問題,判斷字符串必須要用指定的格式
mapper內如下:
1
2
3
4
5
6
7
8
|
<choose> <when test= "regOrSign != null and regOrSign == 'R' " > ORDER BY a.registrationDate DESC </when> <otherwise> ORDER BY a.signDate DESC </otherwise> </choose> |
報錯:
1
2
3
|
### Error querying database. Cause: java.lang.NumberFormatException: For input string: "R" ### Cause: java.lang.NumberFormatException: For input string: "R" ] with root cause java.lang.NumberFormatException: For input string: "R" test="regOrSign != null and regOrSign == 'R' " -> test= 'regOrSign != null and regOrSign == "R" ' |
改成這樣就可以了,這個問題同樣適用if標簽
以上所述是小編給大家介紹的Mybatis3 if判斷字符串變態寫法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!