关于模糊匹配多个字段
需求:前端一个输入框要匹配多个数据库字段。
网上找到的方法是:
select * from table where 1=1 and is_delete = 0
<if test="keyword !=null ">
name like CONCAT('%','#{keyword}','%') OR
age like CONCAT('%','#{keyword}','%')
</if>
但是这里会有一个问题,就是因为用来or做条件查询导致 is_delete= 0 好像失效了,会把已经删除了数据也查出来。
看来不能用or做条件查询。
解决办法:
select * from table where 1=1 and is_delete = 0
<if test="keyword !='' and keyword !=null">
<bind name="pattern" value="'%' + keyword+ '%'"/>
and CONCAT(name,age) like #{pattern}
</if>
这样就解决一个字段模糊匹配数据字段了~~
本文探讨了在前端输入框中实现对数据库多个字段进行模糊匹配的方法。针对使用OR操作符导致已删除数据被误匹配的问题,提出了一种解决方案,通过绑定变量和CONCAT函数实现了精确的多字段匹配。

341

被折叠的 条评论
为什么被折叠?



