3

我有一个过滤器对象列表:FilterVO

公共类FilterVO {

public paramName;
public String criteria;
public String value;
public String relation;

}

过滤器对象的大小和内容由最终用户通过 UI 选择:

我必须根据这个过滤器对象查询数据库:

例如:

 filterVO1 = ["param1",">","value1",AND]
 filterVO2 = ["param2","<","value2",OR]
 filterVO3 = ["param3","like","%value3",AND]
 filterVO4 = ["param4","=","value5",OR]
 filterVO5 = ["param5",">","value6"]

您能否建议如何使用“AND”、“OR”的组合动态构建上述过滤器的 Criteria 对象。

我写了以下代码:

   if (relation.equalsIgnoreCase("OR")) 
    {
        disJunction.add(getRestriction(criteria, paramName, value));
            maincriteria.add(disJunction);
} else  if (relation.equalsIgnoreCase("AND")) 
    {
    conJunction.add(getRestriction(criteria, paramName, value));
            maincriteria.add(conJunction);
}

此代码不适用于 AND , OR 组合。它总是取 AND 条件。请给出 AND,OR 组合的示例代码。

4

0 回答 0