mybatis模糊查询去除特殊符号%(百分号)和_(下划线)

36 篇文章 0 订阅
4 篇文章 0 订阅

在使用mybatis的模糊查询时,有俩个特殊符号需要注意:

%:相当于任意多个字符;

_:相当于任意的单个字符;

根据需求可以选择甄别,如果有要求排除特殊符号,那么写法如下:

在控制层接收到对应值得地方,加入replaceAll()

if(param != null){
        	map.put("param", param.replaceAll("%", "/%").replaceAll("_", "/_"));
    }

这里给特殊符号进行替换;然后其他地方不做处理,直到mapper。xml的sql语句这里:

在对应的字段后面加入  ESCAPE '/'

<if test="param != null and param!= ''">
		  	AND sp.param like '%'||#{param}||'%' ESCAPE '/'
</if>

以上,排除特殊符号的模糊查询完成。

写到这里,顺便记录一下mybatis中的特殊符号处理,及模糊查询的写法

xml特殊符号转义写法

    &lt;          < 

    &gt;          >  

    &lt;&gt;   <>

    &amp;      & 

    &apos;      '

    &quot;      "

也可以使用<![CDATA[ ]]>符号进行说明,将此类符号不进行解析    写法: <![CDATA[ 这里写你的sql ]]>  

   模糊查询的三种常用写法:

 like concat('%',#{param},'%')  或者 like '%${param}%' ,还有就是我自己常用的上面那种  like '%'||#{param}||'%'

 

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值