如何添加过滤功能?

时间:2013-03-06 15:14:17

标签: java mysql jsp java-ee servlets

例如,我的html页面中有4个下拉列表。

DDL1 - OrgType
DDL2 - Region
DDL3 - Category
DDL4 - Sector

现在我如何能够查询数据库并搜索1个DDL?为了让自己清楚这里的情景

Select * 
from table1 
where OrgTypeId = 1 
  AND RegionId = 1 
  AND CategId = 1 
  AND SectorId = 1

现在如果我只想搜索sectorId = 1的扇区怎么办?而其他DDL可以有任何价值吗?

1 个答案:

答案 0 :(得分:0)

仅在WHERE子句中包含所需的条件。您可以通过动态构建查询并仅在需要时插入条件,或者将它们设置为类似LIKE '%'IS NOT NULL的内容或根据您的架构始终返回true的内容来实现。

示例:

--Removing unnecessary criteria
Select * 
from table1 
where SectorId = 1

--Making unused criteria always evaluate to true
Select * 
from table1 
where OrgTypeId >= 0 
  AND RegionId >= 0
  AND CategId >= 0 
  AND SectorId = 1

上面的第二个例子假设你的值都是ints,并且它们永远不会为空,但它可以适应大多数情况。