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)

解决方案:

27de60441fc096497bf46146467f208f.png

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

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

原文:http://www.cnblogs.com/yaojiu/p/3522960.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值