记一次使用mybatis进行like 模糊查询遇到的问题

Posted 这是一个博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记一次使用mybatis进行like 模糊查询遇到的问题相关的知识,希望对你有一定的参考价值。

"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 模糊查询遇到的问题的主要内容,如果未能解决你的问题,请参考以下文章

mybatis like 模糊查询

关于mybatis中llike模糊查询中#和$的使用

mybatis中使用mysql的模糊查询字符串拼接(like)

mybatis-plus模糊查询

关于mybatis中llike模糊查询中参数问题

Mybatis模糊查询(like)