欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

全字段多条件搜索(api接口)

程序员文章站 2022-06-10 16:10:02
近期在做项目时遇到了一个全表全字段多条件搜索的需求,在平时搜索最常见的就是 字段+like +‘% 条件%’这种模式,但遇到多条件多字段时,这种就不适用了。 表字段已知,条件未知,条件数量未知,这种情况我们不可能每多一个条件就加一个and。 解决办法: 先将用户输入的条件存入一个数组中,例如以空格隔 ......

近期在做项目时遇到了一个全表全字段多条件搜索的需求,在平时搜索最常见的就是 字段+like +‘% 条件%’这种模式,但遇到多条件多字段时,这种就不适用了。 表字段已知,条件未知,条件数量未知,这种情况我们不可能每多一个条件就加一个and。

解决办法:

先将用户输入的条件存入一个数组中,例如以空格隔开的条件:

 string[] strarr = searchtext.split(" ");  

进行循环遍历数组中的条件进行sql拼接

for(int i =0;i<strarr.length;i++) 

{
sql += "concat(d1,d,d3,d4,d5,d6,d7,d8,d9,d10,data) like '%"+strarr[i] + "%'and";

}

然后将拼接好的sql放入where条件下就可以了。

这个方法是在不考虑查询效率时所使用的。

测试:数据约两万条,二十五个字段,45kb左右,大约要17s(查询条件无)

 全字段多条件搜索(api接口)