Spring JdbcTemplate 无效的列索引错误

来源:互联网 发布:北京握奇数据 编辑:程序博客网 时间:2024/05/16 03:52

报错信息类似:

executing PreparedStatementCallback [org.springframework.jdbc.core.JdbcTemplate$SimplePreparedStatementCreator@14041ec]): encountered SQLException [无效的列索引]; nested exception is java.sql.SQLException: 无效的列索引
java.sql.SQLException: 无效的列索引

 

“无效的列索引”其实是个低级的错误,原因无非几个:

 

1、sql串的?号数目和提供的变量数目不一致:

例如:jdbcTemplate.update(sql, new Object[] {newState,oldState});

如果sql里面有1个?号,Object[]送了2个,就会报错。

 

2、sql串里的?号书写不正确

英文?和中文?有时难以区分。

 

3、sql串的?号用''括了起来。

例如:sql="UPDATE abc SET abc.name='?' WHERE abc.id='?'";

把''去掉就可以了。

4、sql语句中不能有分号';'

0 0
原创粉丝点击