java1234开源博客系统
博客信息

Activiti流程定义查询

发布时间:『 2016-04-15 11:17』  博客类别:activiti  阅读(7616) 评论(1)

前面我们讲了流程定义的部署,本事的话就是一个添加操作;

今天我们来讲下流程定义的查询,本质的话就是通过Activiti框架提供的API对act_re_procdef进行查询操作;


a.jpg


我们可以通过API 把act_re_procdef表所有列的数据全部查询出来;以后开发系统的时候 管理员用户可以通过用户界面来维护这些数据;


Activiti给我们提供非常丰富的API,用来模拟SQL查询,包括通过某些字段查询,模糊查询,分页查询,排序等等;

/**
 * 查询流程定义 返回流程定义集合 ---对应act_re_procdef
 */
@Test
public void list(){
	List<ProcessDefinition> pdList=processEngine.getRepositoryService() // 获取service类
		.createProcessDefinitionQuery() // 创建流程定义查询
		.processDefinitionKey("myFirstProcess") // 通过key查询
		.list(); // 返回一个集合
	for(ProcessDefinition pd:pdList){
		System.out.println("ID_:"+pd.getId());
		System.out.println("NAME_:"+pd.getName());
		System.out.println("KEY_:"+pd.getKey());
		System.out.println("VERSION_:"+pd.getVersion());
		System.out.println("===================");
	}
}


这里我们通过流程定义的KEY查询返回一个集合。然后我们输入流程定义表的部分关键字段;


运行输入:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
ID_:myFirstProcess:1:4
NAME_:My First process
KEY_:myFirstProcess
VERSION_:1
===================
ID_:myFirstProcess:2:7504
NAME_:My First process
KEY_:myFirstProcess
VERSION_:2
===================


当然我们也可以通过流程定义ID来查询某个流程定义;单个返回结果;

/**
 * 通过ID查询当个流程定义
 */
@Test
public void getById(){
	ProcessDefinition pd=processEngine.getRepositoryService() // 获取service类
			.createProcessDefinitionQuery() // 创建流程定义查询
			.processDefinitionId("myFirstProcess:1:4") // 通过id查询
			.singleResult(); // 查询返回当个结果
	System.out.println("ID_:"+pd.getId());
	System.out.println("NAME_:"+pd.getName());
	System.out.println("KEY_:"+pd.getKey());
	System.out.println("VERSION_:"+pd.getVersion());
}


这里我们主要用到singleResult()方法;


运行结果:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
ID_:myFirstProcess:1:4
NAME_:My First process
KEY_:myFirstProcess
VERSION_:1


当然下面我们来罗列下常见的一些API接口:

b.jpg


这里是模拟条件查询,可以根据某些字段查询,以及Like模糊查询;


c.jpg


模拟SQL 排序查询;


当然可以升序降序; 

.orderByProcessDefinitionKey().desc()  或者.acc();


d.jpg


还有listPage 分页查询;


这些基本都是我们开发常用的,大家好好熟悉下;


完整代码:http://pan.baidu.com/s/1jIdFDuI


关键字:   Activiti  
关注Java1234微信公众号
博主信息
Java1234_小锋
(知识改变命运,技术改变世界)
Powered by Java1234 V3.0 Copyright © 2012-2016 Java知识分享网 版权所有