Mybatis運行報錯:Cause: java.sql.SQLException: Parameter index out of range解決方法

今天在調一個接口的時候,sql和實現方法都寫好了,單元測試時報這個錯誤:

Parameter index out of range (5 > number of parameters, which is 4).

翻譯過來就是sql裏需要五個參數,但是隻傳了四個參數。納尼?明明傳了五個的,爲什麼少了一個呢?

仔細檢查了下sql語句,發現問題應該出在了like這個地方:name like "#{name}%"。

這個地方因爲被雙引號引起來,應該是被直接當成了一個字符串,mysql沒有識別出參數。其實應該這麼寫:

name like concat(#{name},"%")。把參數放到引號外面,這樣就識別出來了,完美解決!

 

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章