今天調試代碼發現“Cause: java.sql.SQLException: 無效的列索引”,查資料得出結論如下:
1、sql串的?號用''括了起來。
例如:select* from user t WHERE t.id='?';
處理方法:把''去掉就可以了。
2、sql串的?號數目和提供的變量數目不一致:
例如:select* from user t WHERE t.id= ? and t.name=?;
如果sql里面有2個?號,入參只給不為兩個,就會報錯,
3、sql串里的?號書寫不正確
注意中英文?號。
4,遇到這種情況select * from user t where t.name like '%'?'%';
需要改成 select*from user where t.name like '%'||?||'%';
如有錯誤,請朋友們指出,共同進步。