在条件查询的时候使用模糊查询是一件很常见的事情,一般都是使用 like + “%” 完成;其实这也没有什么特别的地方
但是你永远不知道会出现的特殊问题(客户是有多磨的脑洞大开)
所以 在开发的时候直接使用这样的方式:
<if test="assetsName != null and assetsName != ''">
and replace(upper(assets_name),' ','') like concat('%',replace(upper(#{assetsName} ),' ',''),'%')
</if>
这是我截取的我的代码,其实就是:
<if test="实体类字段的非空判断">
and replace(upper(数据库中字段),' ','') like concat('%',replace(upper(#{数据库中相对用的实体字段} ),' ',''),'%')
</if>
简单的记一下 ,万一哪天想不起来了可以查看。
之前写了一下发现有很多关键字可能会不知道什么意思,我再一开始看见这段代码的时候觉得很高大上,确实是好用,因为你不知道客户会不会按照你的规则来做。
replace:替换
upper:大小写区分