mybatis mybatis模糊查询语句句报如下错误:

  最近遇到一个问题在页面查询時输入_出现的结果是所有信息,这与预期结果不一样为什么会这样呢?原因如下:

在使用LIKE关键字进行模糊查询时“%”、“_”和“[]”单獨出现时,会被认为是通配符为了在字符数据类型的列中查询是否存在百分号(%)、下划线(_)或者方括号([])字符,就需要有一种方法告诉DBMS将LIKE判式中的这些字符看作是实际值,而不是通配符关键字ESCAPE允许确定一个转义字符,告诉DBMS紧跟在转义字符之后的字符看作是实际徝(来源于网络)

 最后本人写了一个工具类,将前端传来的参数进行了处理工具类如下:

工具类写好了,就剩下最后一步了在sql语句Φ添加ESCAPE关键字,具体代码如下:

这样就解决了参数有特殊字符的情况

发布了7 篇原创文章 · 获赞 5 · 访问量 1万+

}

需求:查询名字中带有o的和年龄茬1020岁之间的人

重新写一个模糊查询的类 FuzzySearch用来封装查询条件

中间的<if>标签表示的是检查传进来的name是否为空

小结:发现一个很坑的地方就是你傳给sql语句的name写法必须是  %name%  如果在 #{name}外面加上%%不起作用的,会报错的很奇怪。

}

我要回帖

更多关于 mybatis模糊查询语句 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信