第三节:Activiti6.0——Query的API使用
时间:2022-07-25
本文章向大家介绍第三节:Activiti6.0——Query的API使用,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一、概述
介绍:对于数据库的信息都可以使用Query接口提供的方法进行查询。此处介绍Query接口的所有API方法使用。为方便演示,使用的是act_id_group表。以下为:Query的所有方法:
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);
}
二、测试
- 首先往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);
- 使用list//获取流程引擎 ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); //获取身份服务 IdentityService service = processEngine.getIdentityService(); List<Group> list = service.createGroupQuery().list(); list.forEach(group -> { System.out.println(group.getId() + "tt" + group.getName() + "tt" + 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
- 使用ListPage方法,分页查询,跟mysql的limit使用一样List<Group> list = service.createGroupQuery().listPage(1, 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();
- 使用count统计数量long count = service.createGroupQuery().count();
- 使用SingleResult查询单个数据//单个数据查询 //如果查询出的数据有多个,会报异常:org.activiti.engine.ActivitiException: Query return 2 results instead of max 1 //groupName是根据name进行过滤 Group group = service.createGroupQuery().groupName("name_2").singleResult();
- 使用多条件查询//多条件查询,需满足所有条件 List<Group> list = service.createGroupQuery().groupName("name_2").groupId("2").list();
- 使用原生的自定义Sql//使用自定义sql List<Group> list = service.createNativeGroupQuery() .sql("select * from act_id_group where NAME_ = #{name}") .parameter("name", "name_4") .list();
- 使用like模糊查询List<Group> list = service.createGroupQuery().groupNameLike("%2").list(); //结果:2 name_2 type_2
- Pycharm集成PyQt4并使用
- python遍历一个目录,输出所有文件名
- pyqt4实现tab界面切换
- 腾讯云Fintech云端系列论坛首站北京,揭秘如何全链路赋能互联网金融
- Flask入门笔记(一)
- 刷脸还是指纹识别,that's a question
- c#:使用using关键字自动释放资源未必一定就会有明显好处
- MongoDB 学习笔记(原创)
- Silverlight:ScorllViewer随Tab键自动跟随子控件的Focus滚动
- 老域名做新站如何能快速得上首页?
- Silverlight:分包下载及SEO优化方案
- jQuery调用RESTful WCF示例(GET方法/POST方法)
- "RDLC"报表-参数传递及主从报表
- 初探小程序之运营及未来方向
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 【小技巧】用Python给你的视频添加字幕
- 震惊!我三步就搞定了 Tomcat 源码环境搭建!
- 【小技巧】深度学习中的那些效率提升利器(附资源)
- 多个线程为了同个资源打起架来了,操作系统是如何让他们安分的?
- 学习链表,这些题你值得一刷!
- Gophish钓鱼测试
- 【位运算】只出现一次的数字 II,数电的知识终于用上了!
- Swaks伪造邮件发件人绕过SPF
- 某次网站的渗透测试
- phpMyAdmin 渗透利用总结
- 【C++简明教程】C++基本语法
- 【多目标跟踪】搞不懂MOT数据集,会跑代码有啥用!
- 手工 - 内网信息收集
- 使用ffmpeg压缩视频之烦和fun
- 一文学会 Web Service漏洞挖掘!