【工作流前进之路】Activiti 权限之用户组-数据查询

2024-03-15 06:08

本文主要是介绍【工作流前进之路】Activiti 权限之用户组-数据查询,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    用户组这个概念在权限系统中,出现的频率可以说是最高的,在百度百科中,对用户组的定义是这样的:在整个网路中,各个访问网络的用户的权限可能是各不相同的,可用将相同权限的用户划分为一组. 使用用户组管理,可以减少网络管理员的负担.

     用户组作为流程中的基础数据,Activiti提供了一套控制用户组的API,通过这些API可以对流程的基础数据进行管理.Activiti中用户组对应的表为ACT_ID_GROUP,对应的对象是Group对象,GroupActiviti对外提供的一个接口,一个Group实例表示一条用户组数据.Group接口只提供了相应字段的getset方法,ActivitiGroup有一个实现类GroupEntity,与对象映射关系,普遍应用于各个ORM框架中.

.创建用户组

IdentityService 提供saveGroup方法,Group 数据保存到数据库中.具体代码如下:

/*** 保存用户组* @author huan**/
@SuppressWarnings("unused")
public classSaveGroup {
// 将用户组数据保存到数据库中publicstatic void createGroup(IdentityService identityService, String id,
Stringname, String type) {
// 调用newGroup方法创建Group实例
Groupgroup = identityService.newGroup(id);
group.setName(name);
group.setType(type);
identityService.saveGroup(group);
}
}


 

.List方法

    Query 接口list方法将查询对象应用的实体数据已集合形式返回,对返回的集合需要指定元素类型,如果没有查询条件,则会将表中全部的数据查出,默认按照主键升序排序.

/*** list方法,封装查询结果,返回相应类型的集合* @author huan**/
public classListData {
publicstatic void main(String[] args) {//创建流程引擎
ProcessEngineengine = ProcessEngines.getDefaultProcessEngine();//得到身份服务组件实例
IdentityServiceidentityService = engine.getIdentityService();
//写入5条用户组数据
SaveGroup.createGroup(identityService,"1","userA","typeA");
SaveGroup.createGroup(identityService,"2","userB","typeB");
SaveGroup.createGroup(identityService,"3","userC","typeC");
SaveGroup.createGroup(identityService,"4","userD","typeD");
SaveGroup.createGroup(identityService,"5","userE","typeE");
//使用List方法查询全部的部署数据
List<Group>datas=identityService.createGroupQuery().list();
for(Groupdata:datas){
System.out.println(data.getId()+"-----"+data.getName()+"");
}}}
保存到数据库中的数据如下:


.listpage 方法

listpage方法和list 方法效果相似,唯一不同的就是listpage把查询结果分页了.

/*** listPage 处理查询数据分页问题* @author huan**/
public classlistPage {
publicstatic void main(String[] args) {
// 创建工作流引擎
ProcessEngineengine = ProcessEngines.getDefaultProcessEngine();
// 得到身份服务组件实现
IdentityServiceidentityService = engine.getIdentityService();
// 调用ListPage方法,从索引为3的记录开始,查询2条记录
List<Group>datas = identityService.createGroupQuery().listPage(3, 2);
for(Groupdata:datas){
System.out.println(data.getId()+ "------" + data.getName() + " ");
}
}
}


.count方法

该方法用于计算查询结果的数据量,类似SQL 中的select count语句.

/*** count ,计算查询结果的数据量* @author huan**/
public class count {
publicstatic void main(String[] args) {
//创建流程引擎
ProcessEngineengine=ProcessEngines.getDefaultProcessEngine();
//扥到身份服务组件实例
IdentityService  identityService=engine.getIdentityService();
//使用list方法查询全部的部署数据
longcountSize=identityService.createGroupQuery().count();
System.out.println(countSize);
}
}


五总结

    从代码中我们可以看出,不管是保存还是查询,查询用的是list,listpage 还是count ,这些都和我们学习ORM框架中的方法是一致的,学习是融会贯通的.

这篇关于【工作流前进之路】Activiti 权限之用户组-数据查询的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/811030

相关文章

使用Python将JSON,XML和YAML数据写入Excel文件

《使用Python将JSON,XML和YAML数据写入Excel文件》JSON、XML和YAML作为主流结构化数据格式,因其层次化表达能力和跨平台兼容性,已成为系统间数据交换的通用载体,本文将介绍如何... 目录如何使用python写入数据到Excel工作表用Python导入jsON数据到Excel工作表用

MySQL中的交叉连接、自然连接和内连接查询详解

《MySQL中的交叉连接、自然连接和内连接查询详解》:本文主要介绍MySQL中的交叉连接、自然连接和内连接查询,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、引入二、交php叉连接(cross join)三、自然连接(naturalandroid join)四

Mysql如何将数据按照年月分组的统计

《Mysql如何将数据按照年月分组的统计》:本文主要介绍Mysql如何将数据按照年月分组的统计方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql将数据按照年月分组的统计要的效果方案总结Mysql将数据按照年月分组的统计要的效果方案① 使用 DA

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带

mysql的基础语句和外键查询及其语句详解(推荐)

《mysql的基础语句和外键查询及其语句详解(推荐)》:本文主要介绍mysql的基础语句和外键查询及其语句详解(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录一、mysql 基础语句1. 数据库操作 创建数据库2. 表操作 创建表3. CRUD 操作二、外键

鸿蒙中Axios数据请求的封装和配置方法

《鸿蒙中Axios数据请求的封装和配置方法》:本文主要介绍鸿蒙中Axios数据请求的封装和配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.配置权限 应用级权限和系统级权限2.配置网络请求的代码3.下载在Entry中 下载AxIOS4.封装Htt

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Mybatis 传参与排序模糊查询功能实现

《Mybatis传参与排序模糊查询功能实现》:本文主要介绍Mybatis传参与排序模糊查询功能实现,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、#{ }和${ }传参的区别二、排序三、like查询四、数据库连接池五、mysql 开发企业规范一、#{ }和${ }传参的

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4