Activiti流程定义查询
2017-03-13 15:37
288 查看
流程定义查询本质上就是通过Activiti框架提供的API对act_re_procdef表进行查询操作。
通过Activiti提供的API 把act_re_procdef表的所有列的数据全部查询出来,
在开发系统的时候管理员、用户可以通过用户界面来维护这些数据。
Activiti提供非常丰富的API,可以做SQL查询、对某些字段查询、模糊查询、分页查询和排序等。
/**
* 获取默认的流程引擎实例 会自动读取activiti.cfg.xml文件
*/
private ProcessEngine processEngine=ProcessEngines.getDefaultProcessEngine();
/**
* 查询流程定义 返回流程定义集合 ---对应act_re_procdef
*/
@Test
public void listAll(){
List<ProcessDefinition> pdList=processEngine.getRepositoryService() // 获取service类
.createProcessDefinitionQuery() // 创建流程定义查询
.processDefinitionKey("helloWorldProcess") // 通过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("===================");
}
}运行输入如下:
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_:helloWorldProcess:1:2504
NAME_:Hello World Process
KEY_:helloWorldProcess
VERSION_:1
===================
ID_:helloWorldProcess:2:7504
NAME_:Hello World Process
KEY_:helloWorldProcess
VERSION_:2
===================
也可以根据某个流程定义ID来查询流程定义信息,返回单个结果(说通俗点就是根据ID查询):
/**
* 通过ID查询当个流程定义
*/
@Test
public void getById(){
ProcessDefinition pd=processEngine.getRepositoryService() // 获取service类
.createProcessDefinitionQuery() // 创建流程定义查询
.processDefinitionId("helloWorldProcess:1:2504") // 通过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());
}运行结果如下:
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_:helloWorldProcess:1:2504
NAME_:Hello World Process
KEY_:helloWorldProcess
VERSION_:1
当然还有非常多的API接口:
可以模糊查询,根据某些字段查询,以及分页查询等等。
整体来说这些操作API的使用就跟Hibernate框架的使用差不多,它内部多封装好了你只需要调用即可。
通过Activiti提供的API 把act_re_procdef表的所有列的数据全部查询出来,
在开发系统的时候管理员、用户可以通过用户界面来维护这些数据。
Activiti提供非常丰富的API,可以做SQL查询、对某些字段查询、模糊查询、分页查询和排序等。
/**
* 获取默认的流程引擎实例 会自动读取activiti.cfg.xml文件
*/
private ProcessEngine processEngine=ProcessEngines.getDefaultProcessEngine();
/**
* 查询流程定义 返回流程定义集合 ---对应act_re_procdef
*/
@Test
public void listAll(){
List<ProcessDefinition> pdList=processEngine.getRepositoryService() // 获取service类
.createProcessDefinitionQuery() // 创建流程定义查询
.processDefinitionKey("helloWorldProcess") // 通过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("===================");
}
}运行输入如下:
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_:helloWorldProcess:1:2504
NAME_:Hello World Process
KEY_:helloWorldProcess
VERSION_:1
===================
ID_:helloWorldProcess:2:7504
NAME_:Hello World Process
KEY_:helloWorldProcess
VERSION_:2
===================
也可以根据某个流程定义ID来查询流程定义信息,返回单个结果(说通俗点就是根据ID查询):
/**
* 通过ID查询当个流程定义
*/
@Test
public void getById(){
ProcessDefinition pd=processEngine.getRepositoryService() // 获取service类
.createProcessDefinitionQuery() // 创建流程定义查询
.processDefinitionId("helloWorldProcess:1:2504") // 通过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());
}运行结果如下:
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_:helloWorldProcess:1:2504
NAME_:Hello World Process
KEY_:helloWorldProcess
VERSION_:1
当然还有非常多的API接口:
可以模糊查询,根据某些字段查询,以及分页查询等等。
整体来说这些操作API的使用就跟Hibernate框架的使用差不多,它内部多封装好了你只需要调用即可。
相关文章推荐
- activiti 查询流程定义
- activiti学习--05流程实例:部署流程定义+部署流程定义+查询当前人的个人任务+完成我的任务
- Activiti流程定义查询
- Activiti 查询最新版本的流程定义
- Activiti 查询流程定义
- 工作流activiti-03数据查询(流程定义 流程实例 代办任务) 以及个人小练习
- (四)Activiti之流程定义部署之ZIP方式和流程定义查询
- 【入门篇】Activiti流程定义查询
- activiti 查询流程定义启动流程
- activiti学习--04流程定义:流程定义组成+部署流程定义+查询流程定义+删除流程定义+删除流程定义+查询最新版本的流程定+查询最新版本的流程定义
- 【入门篇】Activiti查询指定流程定义下已完成的流程实例
- 【入门篇】Activiti查询指定流程定义下指定流程实例下历史任务
- 【入门篇】Activiti查询指定流程定义下待办task
- activiti 流程定义部署及查询
- Activiti查询最新版本的流程定义集合
- Activiti5流程定义(添加、查询、删除、修改)
- Activiti 查询最新版本的流程定义
- activiti 部署流程定义(InputStream) 流程变量设置 及获取流程变量、查询流程变量历史表
- Activiti 部署流程定义及相关的表(classpath部署、zip部署)
- 【Activiti 基础篇三】流程定义—CRUD操作