解決java.Lang.NumberFormatException異常

使用mybatis,寫了這樣一行代碼:

<when test="id == '1'">
      AND id = '1' 
</when>

結果運行時報出異常:

Caused by: java.lang.NumberFormatException: For input string: "1"

很明顯這個異常時數字格式化異常,因爲數據表中id字段的類型爲varchar(2),實體類中id類型爲String,所以開始沒有感覺哪裏出了問題。後來在網上查找,終於找到原因:

原來'1'在這裏被認爲了時char類型,而不是String類型,這是OGNL的語法問題。

更改方法:

①把test="id='1'"改成test='id="1"'

②把'1'改成其他字符串,如'111'

經過測試,通過上述方法修改代碼之後,不再報錯。

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