"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 ..."