我有一个过滤器对象列表:FilterVO
公共类FilterVO {
public paramName;
public String criteria;
public String value;
public String relation;
}
最终用户通过UI选择过滤器对象和内容的大小:
我必须根据这个过滤器对象查询数据库:
对于Ex:
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组合的示例代码。