赞
踩
在基于 mysql 数据库前提下,使用 like 关键字进行模糊查询时,% 和 _ 单独出现时,会被认为是通配符,这个查询条件就会失效。如下所示:
如果我们就想查询出某个包含 "_"(下划线)的字段,怎么办呢?
在 Navicat 中进行查询,只需要加一个转义字符 " \ " 进行转义即可:
在 Navicat 中进行查询,使用 escape 关键字
在 mybatis 中使用,这种情况适用于用户输入的查询条件包含 _ 或者 % 等特殊符号, 通过使用 escape 定义转义符来实现,先将用户输入的 _ 或者 % 加一个转义字符 "/"
然后在 mybatis 的配置文件中使用 escape 标识出 "/" 为转义字符即可
- <if test="roleName != null and '' != roleName">
- AND ROLENAME like '%${roleName}%' ESCAPE '/'
- </if>
这里面的转义符,可以是任意字符,不光光是 "/",只需要在 escape 后面标识出来就可以,如下所示,* 也是可以作为通配符查出满足条件的数据:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。