一、通用数据查询
Activiti的各个服务组件(XXXService)均提供了createXXXQuery,repositoryService.createProcessDefinitionQuery(),identityService.createUserQuery(),runtimeService.createExecutionQuery()等等,这些方法会返回一个继承Query的实例。
Query是所有查询对象的父接口,该接口中定义了若干个基础方法,各个查询对象均可以使用这些公共方法,包括设置排序方式、数据量统计、列表、分页和唯一记录查询。
相关方法描述:
desc:设置查询结果的排序方式为降序。
asc:设置查询结果的排序方式为升序。
调用排序的前提是,必须告诉Query对象,按何种条件进行排序,例如要按照ID排序,就要调用相应查询对象的orderByXXX 方法,如果不调用直接使用这些方法,则会抛出ActivitiException。如果需要最终的结果集,还需要继续调用。
java// 调用orderByGroupName和desc方法,结果为按照名称降序排序 List<Group> datas = identityService.createGroupQuery().orderByGroupName().desc().list();
count:计算查询结果的数据量。
list:封装查询结果,返回相应类型的集合。
listPage:分页返回查询结果。
- listPage方法需要提供两个int参数,第一个参数为数据的开始索引,从0开始,第二个参数为结果数量。
singleResult:查询单条符合条件的数据,如果查询不到,则返回null,如果查询多条记录,则抛出异常。