java.sql.SQLSyntaxErrorException:ORA-01722:invalid number 異常

  • bug異常主要信息如下:

java.sql.SQLSyntaxErrorException: ORA-01722: invalid number

  • 如圖所示:

ORA-01722 invalid number.png
1.先說一下bug的由來,我是用mybatis-plus執行一個刪除操作,xxxMapper.deleteById(xxxId),想刪除某個id下的一個數據,然後就報錯了。
2.**{conn-10001, pstmt-20053} execute error. DELETE FROM WTC_RECEIPT_BACK_T WHERE RECORD_ID = ?
java.sql.SQLSyntaxErrorException: ORA-01722: invalid number**,這裏的異常信息也很清晰了,執行sql語句出錯,無效的數字類型。原因就是Do對象的主鍵Id是Long類型,而我傳入的Id是String類型,故想執行刪除操作行不通。
3.值得一提的是,我發現sql執行出錯的時候,報的異常信息是分類的java.sql.SQLSyntaxErrorException: ORA-01722xxx,如果是其他操作引起的錯誤,應該就不是報ORA-01722這個錯誤信息,如還有ORA-00933:ORA-00923等錯誤信息。在搜我上面那個錯誤的時候,還找到了其他比較嚴謹一點的說法:

  • 這個stackoverflow上面提問的問題:

錯誤信息.png

  • stackoverflow上面比較高讚的回答:

回答.png

  • 如果文章有誤,希望指出來。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章