多关键字多字段查询(SQL JAVA)

来源:百度知道 编辑:UC知道 时间:2024/06/07 07:30:14
用JAVA开发Web应用时经常要用到搜索,我想要多关键字多字段查询却找不到正确的方法,我想达到的效果是关键字用逗号隔开,多关键字对表全部字段进行查询,然后让满足查询多关键字条件的结果集返回.希望有代码示例,谢谢
百度就是那样的效果吧..
关于数组组合的方法,也有考虑过.希望有代码示例

多关键字查询
1.有关键字查询,与非关键字查询即不输入任务条件查询
2.限制关键字的个数与输入长度,以方便程序设计与维护,以及对性能的提高
3.存储过程中关键字条件默认为NULL,通过判断是否为NULL来获取是否有信息
4.通过自定义函数来获取关键字出现的次数,使用REPLACE方法代替LIKE的方式查询,以大幅度提高性能
6.通过取得关键字出现的次数,来显示有循序的结果集

--简单实例代码,我用的是Sqlserver ,假设只允许输入2个关键字查询
CREATE PROC Find
(
@AllWords bit, --是否关键字查询
@Word1 VARCHAR(15) = NULL,
@Word2 VARCHAR(15) = NULL
)
AS
IF @AllWords = 0
BEGIN
查询全部
END

IF @AllWords = 1
BEGIN --WordCount接收2个参数(关键字 ,需查询字段),返回个整形,
SELECT *,dbo.WordCount(@Word1, FindField)+ dbo.WordCount(@Word2,FindField) AS Rank
FROM 内容表
ORDER BY Rank DESC --如果未需要具有关键字的数据就Rank>0就行了
END

--自定义函数
CREATE FUNCTION dbo.WordCount (@Word VARCHAR(15), @FindField VARCHAR(1000))
RETURNS SMALLINT
AS
BEGIN
--未有关键字或未有查询字段返回0
IF @Word IS NULL OR @FindField IS NULL RETUR