首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >第三节:Activiti6.0——Query的API使用

第三节:Activiti6.0——Query的API使用

作者头像
凡人飞
发布于 2020-09-20 12:23:09
发布于 2020-09-20 12:23:09
1.4K00
代码可运行
举报
文章被收录于专栏:指缝阳光指缝阳光
运行总次数:0
代码可运行

一、概述

介绍:对于数据库的信息都可以使用Query接口提供的方法进行查询。此处介绍Query接口的所有API方法使用。为方便演示,使用的是act_id_group表。以下为:Query的所有方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public interface Query<T extends Query<?, ?>, U extends Object> {

  /**
   * 该方法需要在调用orderByXxxx后使用
   */
  T asc();

  /**
   * 该方法需要在调用orderByXxxx后使用
   */
  T desc();

  long count();

  U singleResult();
  
  List<U> list();

  List<U> listPage(int firstResult, int maxResults);
}

二、测试

  1. 首先往act_id_group表中添加数据:ProcessEngine pe = ProcessEngines.getDefaultProcessEngine(); IdentityService is = pe.getIdentityService(); for (int i = 0; i < 10; i++) { Group group = is.newGroup(String.valueOf(i)); group.setName("name_" + i); group.setType("type_" + i); is.saveGroup(group); } //关闭流程引擎 pe.close(); System.exit(0);
  2. 使用list//获取流程引擎 ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); //获取身份服务 IdentityService service = processEngine.getIdentityService(); List<Group> list = service.createGroupQuery().list(); list.forEach(group -> { System.out.println(group.getId() + "\t\t" + group.getName() + "\t\t" + group.getType()); }); //结果: //0 name_0 type_0 //1 name_1 type_1 //2 name_2 type_2 //3 name_3 type_3 //4 name_4 type_4 //5 name_5 type_5 //6 name_6 type_6 //7 name_7 type_7 //8 name_8 type_8 //9 name_9 type_9
  3. 使用ListPage方法,分页查询,跟mysql的limit使用一样List<Group> list = service.createGroupQuery().listPage(1, 4);
  4. 使用asc和des进行升序和降序//升序 List<Group> list1 = service.createGroupQuery().orderByGroupName().asc().list(); //降序 List<Group> list2 = service.createGroupQuery().orderByGroupName().desc().list(); //使用多次排序时,排一次序就指定一次顺序 List<Group> list3 = service.createGroupQuery().orderByGroupName().desc().orderByGroupType().asc().list();
  5. 使用count统计数量long count = service.createGroupQuery().count();
  6. 使用SingleResult查询单个数据//单个数据查询 //如果查询出的数据有多个,会报异常:org.activiti.engine.ActivitiException: Query return 2 results instead of max 1 //groupName是根据name进行过滤 Group group = service.createGroupQuery().groupName("name_2").singleResult();
  7. 使用多条件查询//多条件查询,需满足所有条件 List<Group> list = service.createGroupQuery().groupName("name_2").groupId("2").list();
  8. 使用原生的自定义Sql//使用自定义sql List<Group> list = service.createNativeGroupQuery() .sql("select * from act_id_group where NAME_ = #{name}") .parameter("name", "name_4") .list();
  9. 使用like模糊查询List<Group> list = service.createGroupQuery().groupNameLike("%2").list(); //结果:2 name_2 type_2
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/11/12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【第十篇】Flowable中的候选人组
  当候选人很多的情况下,我们可以分组来处理。先创建组,然后把用户分配到这个组中。
用户4919348
2022/04/13
2.7K0
【第十篇】Flowable中的候选人组
第五节:Activiti6.0——流程定义相关API
介绍:在发布一次资源后,会生成对应的流程定义(存储在表act_re_procdef)中,该定义记录一个流程的信息,如下图所有:
凡人飞
2020/09/20
1.1K0
activiti6.0工作流引擎深度解析_自定义工作流引擎
工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”。
全栈程序员站长
2022/09/27
3.1K0
activiti6.0工作流引擎深度解析_自定义工作流引擎
第九章:activit内置用户组设计与组任务分配和IdentityService接口的使用
这里我们为了后面集成测试,这里多加几条数据,就算是把“zhangshan 和lisi都加到testGroup测试组这样一个业务”加后的数据库如下:
全栈程序员站长
2022/08/05
4840
第九章:activit内置用户组设计与组任务分配和IdentityService接口的使用
Activiti5工作流笔记三
之前的流程图都是错的,只是为了演示如何快速使用,下面通过连线学习如何画一个正确的流程图
HUC思梦
2020/09/03
4550
Activiti5工作流笔记三
Activiti7的api查询(实时更新)
学习activiti,就是学习使用java代码操作25张表; java代码中我们调用Activiti的工具类;
一写代码就开心
2022/05/27
3.1K0
Activiti7的api查询(实时更新)
Activiti5工作流笔记一
  网上工作流的定义一大堆,这里就不去复制了,通俗的理解,工作流就是类似OA系统中请假审批、报销审批等一系列流程,下级提交的申请只有直系领导才能审批,其他人是没有权限的,而只有直系领导审批通过后,直系领导的直系领导才可以看到申请,并进行审批,以此类推。。。
HUC思梦
2020/09/03
8420
Activiti5工作流笔记一
项目实践之工作流引擎基本文档!Activiti工作流框架中流程引擎API和服务详解
当传入一个不存在的任务的id时,就会抛出异常.taskId不能为null,如果传入null,就会抛出ActivitiIllegalArgumentException
攻城狮Chova
2022/01/22
1.2K0
项目实践之工作流引擎基本文档!Activiti工作流框架中流程引擎API和服务详解
Activiti工作流框架学习笔记(一)「建议收藏」
对于第一次接触工作流的小伙伴来说,觉得难以理解,也无可厚非,说得好像我自己就能深刻理解一样,我也只是将学习Activiti工作流框架中的一些知识点记录下来而已,也希望能和大家讨论。
全栈程序员站长
2022/11/08
2.9K0
Activiti工作流框架学习笔记(一)「建议收藏」
第七节:Activiti6.0——Task的变量使用
介绍: 在任务的执行过程中,会有很多的变量参数(比如请假任务需要天数等)。变量从作用域来分:本地变量和全局变量。 从类型区分:基本变量、自定义变量和BPMN自带变量。
凡人飞
2020/09/21
2.1K0
第七节:Activiti6.0——Task的变量使用
第十节:Activiti6.0——四种Job工作的产生与管理
一、概述 介绍: 流程在执行过程中会产生不同的任务。 ServiceTask异步任务会产生异步任务,存放在一般工作表act_ru_job中。 定时任务会产生定时的任务,在定时时间未到达之前会存放在定时工作表act_ru_timer_job中。 挂起任务,比如将未到时间的定时任务手动暂停,则会存放在挂起任务表act_ru_suspended_job中。 不可执行任务,如果任务执行失败,并且在重试次数用完的情况下也没有成功执行,则任务会存放到不可执行任务表act_ru_deadletter_job中。 二、异步
凡人飞
2020/09/21
3.4K0
第十节:Activiti6.0——四种Job工作的产生与管理
第六节:Activiti6.0——流程任务:候选人、持有人和代理人
介绍:任务和候选人的关系是一个中间表(act_ru_identitylink)来保存的,所有任务和候选人的关系是多对多。
凡人飞
2020/09/20
4.4K0
Activiti工作流的详细介绍[通俗易懂]
1、工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现。
全栈程序员站长
2022/11/08
5.4K0
Activiti工作流的详细介绍[通俗易懂]
Activiti学习详解【面试+工作】
一:Activiti第一天 1:工作流的概念 说明: 1) 假设:这两张图就是XX兄弟的请假流程图 2) 图的组成部分: A. 人物:范XX 冯X刚 王X军 B. 事件(动作):请假、批准、不批准
Java帮帮
2018/03/15
3.5K0
Activiti学习详解【面试+工作】
工作流引擎之activiti入门
在解释activiti之前我们看一下什么是工作流。 工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。 我的理解是,工作流将一套大的业务逻辑分解成业务逻辑段, 并统一控制这些业务逻辑段的执行条件,执行顺序以及相互通信。 实现业务逻辑的分解和解耦。 Activiti是一个开源的工作流引擎,它实现了BPMN 2.0规范,可以发布设计好的流程定义,并通过api进行流程调度。 BPMN即业务流程建模与标注(Business Process Model and Notation,BPMN) ,描述流程的基本符号,包括这些图元如何组合成一个业务流程图(Business Process Diagram)。
lyb-geek
2018/07/26
9.4K0
工作流引擎之activiti入门
第八节:Activiti6.0——启动流程相关
介绍:在启动流程后,每个流程实例都会有执行流(存储在act_ru_execution表中)。实例都有主执行流,没有父id的执行流是流程实例,其后如果流程中有一个分支则有一个子执行流,分支和子执行流一一对应。对执行流可以设置变量,设置子执行流的变量为本地(临时)变量(自在当前执行流有效),设置主执行流的变量为全局变量。
凡人飞
2020/09/21
7310
第八节:Activiti6.0——启动流程相关
day57_BOS项目_09
方式一:   第一步:获得activiti-eclipse-plugin.zip文件   第二步:将zip文件解压到eclipse的dropins目录中
黑泽君
2018/10/18
4390
day57_BOS项目_09
2021全网最全Activiti7教程04(Activiti7进阶篇-欢迎收藏)
  本篇重点给大家介绍下Activiti中的高级内容,比如流程实例,个人任务,流程变量,组任务及网关。
用户4919348
2021/06/17
3.8K1
2021全网最全Activiti7教程04(Activiti7进阶篇-欢迎收藏)
Spring Boot + Activiti 完美结合,快速实现工作流
关于工作流之前分享过一篇flowable,今天分享一下另外一个实现:Activiti
终码一生
2023/01/08
1.5K0
Spring Boot + Activiti 完美结合,快速实现工作流
Activiti7笔记(一)Activiti7是什么,入门流程操作的代码实现
Activiti是一个工作流引擎, activiti可以将业务系统中复杂的业务流程抽取出来,使用专门的建模语言BPMN2.0进行定义,业务流程按照预先定义的流程进行执行,实现了系统的流程由activiti进行管理,减少业务系统由于流程变更进行系统升级改造的工作量,从而提高系统的健壮性,同时也减少了系统开发维护成本。
一写代码就开心
2022/05/09
3.6K0
Activiti7笔记(一)Activiti7是什么,入门流程操作的代码实现
推荐阅读
相关推荐
【第十篇】Flowable中的候选人组
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档