public class DAOCondition extends Object implements Serializable, com.ds.common.query.Filter
Title: JDS系统管理系统
Description: 用于封装对引擎内部数据进行查询的条件以及对结果集的排序,并 在引擎内部将其作为SQL查询WHERE子句的一部分。也就是说它最终 将被转换成SQL查询条件,例如:
Condition c1 = new Condition(ConditionKey.ACTIVITYINST_STATE, ActivityInst.STATE_RUNNING, Condition.EQUALS);
调用c1.makeConditionString()将返回查询条件
BPM_ACTIVITYINSTANCE.ACTIVITYINST_STATE = 'running'
如果继续进行如下调用:
java.sql.Date date = new java.sql.Date(System.currentTimeMillis());
Condition c2 = new Condition(ConditionKey.ACTIVITYINST_ARRIVEDTIME, date , Condition.LESS_THAN);
c1.addCondition(c2, Condition.JOIN_AND);
Condition c3 = new Condition(ConditionKey.ACTIVITYINST_STARTTIME, date , Condition.GREATER_THAN);
c1.addCondition(c3, Condition.JOIN_OR);
此时调用c1.makeConditionString()将返回查询条件
BPM_ACTIVITYINSTANCE.ACTIVITYINST_STATE = 'running' AND (BPM_ACTIVITYINSTANCE.ARRIVEDTIME < '2003-12-25' OR BPM_ACTIVITYINSTANCE.STARTTIME > '2003-12-25')
如果需要对结果集进行排序,可以进行如下操作:
c1.addOrderBy(new Order(ConditionKey.ACTIVITYINST_STATE, true));
c1.addOrderBy(new Order(ConditionKey.ACTIVITYINST_ARRIVEDTIME, false));
此时调用c1.makeConditionString()将返回查询条件
BPM_ACTIVITYINSTANCE.ACTIVITYINST_STATE = 'running' AND (BPM_ACTIVITYINSTANCE.ARRIVEDTIME < '2003-12-25' OR BPM_ACTIVITYINSTANCE.STARTTIME > '2003-12-25') ORDER BY BPM_ACTIVITYINSTANCE.ACTIVITYINST_STATE ASC,BPM_ACTIVITYINSTANCE.ARRIVEDTIME DESC
Copyright: Copyright (c) 2020
Company: www.justdos.net
| 限定符和类型 | 字段和说明 |
|---|---|
protected List<DAOCondition> |
childConditionList |
protected List<com.ds.common.query.JoinOperator> |
childJoinTypeList |
protected String |
conditionKey
条件类型包括:活动状态、活动开始时间、结束时间
|
protected boolean |
isMysql |
protected com.ds.common.query.Operator |
operator |
protected List<com.ds.common.query.Order> |
orderByList |
com.ds.common.query.Page |
page |
protected TableInfo |
tableInfo |
protected Object |
value
条件所需的取值,如果Comparator取值为BETWEEN和INCLUDE,该值为java.util.List对象。
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
addCondition(DAOCondition condition,
com.ds.common.query.JoinOperator joinType)
在当前条件中添加一个子条件,将使用joinType中定义的方法连接到主查询上
|
void |
addOrderBy(com.ds.common.query.Order order)
添加一个排序条件,将向Sql语句中添加一个Order By子句
注意:只有最上级的Condition主查询可以添加Order,子查询上是不能添加的 |
String |
extractValue(Object value) |
boolean |
filterObject(Object obj,
String systemCode) |
List<DAOCondition> |
getChildConditionList() |
List<com.ds.common.query.JoinOperator> |
getChildJoinTypeList() |
String |
getConditionKey() |
com.ds.common.query.Operator |
getOperator() |
List<com.ds.common.query.Order> |
getOrderByList() |
com.ds.common.query.Page |
getPage() |
TableInfo |
getTableInfo() |
Object |
getValue() |
boolean |
isMysql() |
static void |
main(String[] args) |
String |
makeConditionString()
产生查询Sql,引擎内部使用
|
void |
setChildConditionList(List<DAOCondition> childConditionList) |
void |
setChildJoinTypeList(List<com.ds.common.query.JoinOperator> childJoinTypeList) |
void |
setConditionKey(String conditionKey) |
void |
setMysql(boolean mysql) |
void |
setOperator(com.ds.common.query.Operator operator) |
void |
setOrderByList(List<com.ds.common.query.Order> orderByList) |
void |
setPage(com.ds.common.query.Page page) |
void |
setTableInfo(TableInfo tableInfo) |
void |
setValue(Object value) |
protected String conditionKey
protected Object value
protected com.ds.common.query.Operator operator
protected TableInfo tableInfo
protected boolean isMysql
public com.ds.common.query.Page page
protected List<DAOCondition> childConditionList
protected List<com.ds.common.query.JoinOperator> childJoinTypeList
protected List<com.ds.common.query.Order> orderByList
public com.ds.common.query.Page getPage()
public void setPage(com.ds.common.query.Page page)
public String getConditionKey()
public void setConditionKey(String conditionKey)
public TableInfo getTableInfo()
public void setTableInfo(TableInfo tableInfo)
public Object getValue()
public void setValue(Object value)
public com.ds.common.query.Operator getOperator()
public void setOperator(com.ds.common.query.Operator operator)
public List<DAOCondition> getChildConditionList()
public void setChildConditionList(List<DAOCondition> childConditionList)
public List<com.ds.common.query.JoinOperator> getChildJoinTypeList()
public void setChildJoinTypeList(List<com.ds.common.query.JoinOperator> childJoinTypeList)
public List<com.ds.common.query.Order> getOrderByList()
public void setOrderByList(List<com.ds.common.query.Order> orderByList)
public String makeConditionString()
public void addOrderBy(com.ds.common.query.Order order)
order - 一个Order对象。public void addCondition(DAOCondition condition, com.ds.common.query.JoinOperator joinType)
condition - 子查询条件joinType - 连接方法
public boolean filterObject(Object obj, String systemCode)
filterObject 在接口中 com.ds.common.query.Filterpublic boolean isMysql()
public void setMysql(boolean mysql)
public static void main(String[] args)
Copyright © 2023 onecode. All rights reserved.