oracle inset 无效数字,PreparedStatementCallback; SQL [insert into person values(?,?,?)]; ORA-01722: 无效数字...

log4j:WARN No appenders could be found for logger (org.springframework.context.support.ClassPathXmlApplicationContext).

log4j:WARN Please initialize the log4j system properly.

here

Exception in thread "main" org.springframework.dao.DataIntegrityViolationException: PreparedStatementCallback; SQL [insert into person values(?,?,?)]; ORA-01722: 无效数字

; nested exception is java.sql.SQLSyntaxErrorException: ORA-01722: 无效数字

Caused by: java.sql.SQLSyntaxErrorException: ORA-01722: 无效数字

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:439)

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:395)

at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:802)

at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:436)

at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:186)

at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:521)

at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:205)

at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1008)

at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1307)

at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3449)

at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3530)

at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1350)

at org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:745)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:538)

at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:739)

at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:762)

at org.springframework.jdbc.object.SqlUpdate.update(SqlUpdate.java:168)

at com.pb.personDaoImpl.JDBCTemplatePersonDaoImpl.insert(JDBCTemplatePersonDaoImpl.java:35)

at com.pb.personEntity.test.Test.test1(Test.java:30)

at com.pb.personEntity.test.Test.main(Test.java:18)

解决方案:

5dda8fc2fd639726a2dec76f8947d39f.png

如上图,oracle数据库的顺序是p_id,age,name;而我们在dao中的设置参数类型的时候也一定要遵循数据库的顺序。

insert into person values(?,?,?);参数类型要一致。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值