android 下划线转义,mybatis模糊查询特殊符号%(百分号)和_(下划线)不转义

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

%(百分号):相当于任意多个字符;

_(下划线):相当于任意的单个字符;

处理方法:

1:

(查询条件参数,比如"xx%_x")param.replaceAll("%", "/%").replaceAll("-", "/-")

2-1:

select * from table where column like concat('%',#{param},'%') escape '/';

2-2:

vc.title like concat('%',#{title},'%') ESCAPE '/'

处理之后百分号%、下划线_在mybatis执行该拼接的sql语句的时候就不会被转义处理了

escape ‘/’ 指用’/'说明后面的%或_就不作为通配符而是普通字符了,注意前面没有转义字符的%仍然起通配符作用

like concat('%',#{param},'%') 、like '%${param}%' 、 like '%'||#{param}||'%'是一个意思

你可能感兴趣的:(android,下划线转义)