今天調試代碼發現“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 '%'||?||'%';