- bug異常主要信息如下:
java.sql.SQLSyntaxErrorException: ORA-01722: invalid number
- 如圖所示:
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-01722 : xxx,如果是其他操作引起的錯誤,應該就不是報ORA-01722這個錯誤信息,如還有ORA-00933:,ORA-00923等錯誤信息。在搜我上面那個錯誤的時候,還找到了其他比較嚴謹一點的說法:
- 這個stackoverflow上面提問的問題:
- stackoverflow上面比較高讚的回答:
- 如果文章有誤,希望指出來。