sql語句報:Cause: java.lang.NumberFormatException: For input string: "Y"


根據提示的信息,我們很容易知道是數據格式化的時候出了問題,不過為什么哪?我們定義的沒有錯呀!傳遞的也沒有錯呀!是OGNL的語法問題,這里'Y'將被認為是char類型的數據,但是'YY'或者“Y”將被認為是String類型的數據

解決方案如下所示:

1:將代碼改為test="param eq 'Y'.toString()"

2:將代碼改為test="name == "Y""

3:將代碼改為test='index == "Y"'

當對象的映射文件及對應的屬性如下編寫時,<result column="IF_SHIELD" property="ifShield" jdbcType="VARCHAR" /> private String ifShield;

<if test="ifShield==1">是沒問題的(並且數字是全部沒問題的,無論是小數還是整數是正數還是負數),不過這樣編寫<result column="IF_SHIELD" property="ifShield" jdbcType="CHAR" /> private String ifShield;

<if test="ifShield==1">就是有問題的。

最簡單的是把‘Y’改成“Y”,單引號改成雙引號,雙引號的內容默認為String類型


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM