Activiti数据查询

博客主要围绕查询对象和用户组数据测试展开。介绍了查询对象的相关操作,如 asc、desc、count 等。还阐述了使用用户组数据进行的测试,包括保存、查询、分页查询、排序以及查询唯一数据,甚至涉及原生 SQL 查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查询对象

Query:

  • asc
  • desc
  • count
  • list
  • listPage
  • singleResult

使用用户组数据测试

保存用户组

import org.activiti.engine.IdentityService;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.identity.Group;
public class SaveGroup {
    public static void main(String[] args) {
        //创建流程引擎对象
        ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();
        //获取管理用户服务
        IdentityService is = engine.getIdentityService();
        for (int i =0; i<10 ;i++){
            //创建用户组
            Group group = is.newGroup(String.valueOf(i));
            group.setName("Group_"+i);
            group.setType("TYPE_"+i);
            //保存用户组
            is.saveGroup(group);
        }
        //关闭流程
        engine.close();
        //正常退出程序
        System.exit(0);
    }
}

查询用户组

import org.activiti.engine.IdentityService;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.identity.Group;
import java.util.List;

public class TestList {
    public static void main(String[] args) {
        //创建流程引擎对象
        ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();
        //获取管理用户服务
        IdentityService is = engine.getIdentityService();
        //查询group集合
        List<Group> list = is.createGroupQuery().list();
        for (Group g : list){
            System.out.println(g.getId()+"--"+g.getName()+"--"+g.getType());
        }
        //统计数据总数
        long count = is.createGroupQuery().count();
        System.out.println(count);
    }
}

分页查询用户组

public class TestListPage {
    public static void main(String[] args) {
        //创建流程引擎对象
        ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();
        //获取管理用户服务
        IdentityService is = engine.getIdentityService();
        //查询group集合
        //listPage   第一个参数:从0开始;   第二个参数:多少条数据
        List<Group> list = is.createGroupQuery().listPage(0,3);
        for (Group g : list){
            System.out.println(g.getId()+"--"+g.getName()+"--"+g.getType());
        }
    }
}

用户组排序

public class TestSort {
    public static void main(String[] args) {
        ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();
        IdentityService is = engine.getIdentityService();
        //多字段排序   desc: 降序    asc: 升序
        List<Group> groups = is.createGroupQuery().orderByGroupId().desc().orderByGroupName().asc().list();
        for (Group g : groups){
            System.out.println(g.getId()+"--"+g.getName()+"--"+g.getType());
        }
    }
}

查询用户组唯一数据

public class TestSingle {
    public static void main(String[] args) {
        ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();
        IdentityService is = engine.getIdentityService();
        //通过groupName查询唯一数据,若有2条,抛出异常
        Group g = is.createGroupQuery().groupName("Group_0").singleResult();
        System.out.println(g.getId()+"--"+g.getName()+"--"+g.getType());
    }
}

使用原生SQL查询

public class FeildQuery {
    public static void main(String[] args) {
        ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();
        IdentityService is  = engine.getIdentityService();
        //使用原生SQL查询

        List<Group> groups = is.createNativeGroupQuery().sql("select * from ACT_ID_GROUP where NAME_ = #{name}")                .parameter("name", "Group_2").list();        for (Group g : groups ){            System.out.println(g.getId()+"--"+g.getName()+"--"+g.getType());        }    }}```      List<Group> groups = is.createNativeGroupQuery().sql("select * from ACT_ID_GROUP where NAME_ = #{name}")
                .parameter("name", "Group_2").list();
        for (Group g : groups ){
            System.out.println(g.getId()+"--"+g.getName()+"--"+g.getType());
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值