问题描述
如题,在给前端提供接口时,由于要处理过滤筛选,所以需要模糊查询,拼接sql
语句。在完成之后测试接口时报错:
Parameter index out of range (1 > number of parameters, which is 0).; nested exception is java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0)."
一番探索之后发现原来是因为sql
语句出了问题:
String sql = "select * from `sys1-sys2-result`.system_alarm where task_id='"+task_id+"'";
这样弄出来的sql
语句数据库中查询没有任何问题,但是在SpringBoot
中通过占位符来传入参数,所以将上面的sql
语句改成:
String sql = "select * from `sys1-sys2-result`.system_alarm where task_id=?";
就可以了,当然,还有其他的问题导致这一错误,这里仅记录自己的错误原因。