1. 程式人生 > >記一次使用mybatis進行like 模糊查詢遇到的問題

記一次使用mybatis進行like 模糊查詢遇到的問題

bat 通過 模糊查詢 date 但是 AR 通配符 問題 解決辦法

"bdate like #{date}% and  ..."

最開始這樣寫的· 將傳入的參數和%用單引號包起來,但是這會報錯

java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).

查閱資料後發現不能使用單引號將占位參數包起來,這樣編譯後的結果就是 like ‘?%‘ 即把占位的“?”作為了參數

然後我想到把通配符加在參數裏面傳進來,如下所示

"bdate like #{date} and  ..."

參數為 "\"2014-04%\""

但是依舊出現異常

通過查閱資料後找到如下解決辦法:

1:只把%用引號包起來

"bdate like #{date}\"%\" and  ..."

2: 使用$拼接參數

"bdate like ${date}% and  ..."

記一次使用mybatis進行like 模糊查詢遇到的問題