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

  • bug异常主要信息如下:

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

  • 如图所示:

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上面提问的问题:


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

  • stackoverflow上面比较高赞的回答


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

原文 

https://segmentfault.com/a/1190000020249718

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » java.sql.SQLSyntaxErrorException:ORA-01722:invalid number 异常

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址