复习步骤2-Activiti数据查询
项目结构如图
resource下的文件及lib copy query-test即可
QueryGroup.java
package com.xiangshuai.act.c6;
import java.util.List;
import org.activiti.engine.IdentityService;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.identity.Group;
import org.activiti.engine.identity.GroupQuery;
/*** 文件在 E:\学习文档子目录压缩\框架\工作流引擎\Activiti6.0\window\复习步骤2-Activiti数据查询
* 或 我的网盘\我的笔记学习文档子目录压缩\框架\工作流引擎\Activiti6.0\window\复习步骤2-Activiti数据查询
* @author lqx
* activiti查询test
* 查询对象
* Query:
* asc
* desc
* count
* list
* listPage
* singleResult
*/
public class QueryGroup {
public static void main(String[] args) {
// queryListGroup();//Query list方法
//queryAscGroup();//Query asc 按ID_字段正序 排序
//queryDescGroup();//Query asc 按ID_字段反序 排序
//queryCountGroup();//Query count方法
//queryListPageGroup();//Query listPage 分页方法
//querySingleResultGroup(); //query singleResult 只查出一个结果,记得条件确定只能查出一个否则报错
//queryNameLikeGroup(); //query groupNameLike 按名字模糊查询
//queryNativeGroup();//原生SQL查询 #占位符因为底层用的是mybatis
queryNativeLikeGroup(); //query createNativeGroupQuery().sql 原生SQL查询 ,因为底层是mybatis所以可以用mybatis模糊查询的concat方法
}
//query createNativeGroupQuery().sql 原生SQL查询 ,因为底层是mybatis所以可以用mybatis模糊查询的concat方法
public static void queryNativeLikeGroup(){
ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();//获得引擎对象
IdentityService is = engine.getIdentityService();//有引擎对象 获取对用户组的管理的API对象
List<Group> list = is.createNativeGroupQuery().sql("select * from act_id_group where NAME_ like concat(concat('%',#{name}),'%')")
.parameter("name", "Group").list();//第一个参数 name 占位符#{}括号中的名字,第二个值
list.forEach((group)->{
System.out.println("id: "+group.getId()+"--"+"name:"+group.getName()+"--"+"type:"+group.getType());
});
engine.close();
System.exit(0);
}
//query createNativeGroupQuery().sql 原生SQL查询
public static void queryNativeGroup(){
ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();//获得引擎对象
IdentityService is = engine.getIdentityService();//有引擎对象 获取对用户组的管理的API对象
List<Group> list = is.createNativeGroupQuery().sql("select * from act_id_group where NAME_=#{name}")
.parameter("name", "Group_9").list();//第一个参数 name 占位符#{}括号中的名字,第二个值
list.forEach((group)->{
System.out.println("id: "+group.getId()+"--"+"name:"+group.getName()+"--"+"type:"+group.getType());
});
engine.close();
System.exit(0);
}
//query groupNameLike 按名字模糊查询
public static void queryNameLikeGroup(){
ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();//获得引擎对象
IdentityService is = engine.getIdentityService();//有引擎对象 获取对用户组的管理的API对象
GroupQuery groupQuery = is.createGroupQuery(); //用户管理的API对象获取查询对象Query
List<Group> list = groupQuery.groupNameLike("Group_%").list();
list.forEach((group)->{
System.out.println("id: "+group.getId()+"--"+"name:"+group.getName()+"--"+"type:"+group.getType());
});
engine.close();
System.exit(0);
}
//query singleResult 只查出一个结果,记得条件确定只能查出一个否则报错
public static void querySingleResultGroup(){
ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();//获得引擎对象
IdentityService is = engine.getIdentityService();//有引擎对象 获取对用户组的管理的API对象
GroupQuery groupQuery = is.createGroupQuery(); //用户管理的API对象获取查询对象Query
Group singleResult = groupQuery.groupId("9").groupNameLike("Group_%").groupType("Type_9").singleResult();//必须 group*这几个方法从数据库查询的条件都满足才行
System.out.println("id: "+singleResult.getId()+"--"+"name:"+singleResult.getName()+"--"+"type:"+singleResult.getType());
engine.close();
System.exit(0);
}
//queryListPageGroup();//Query listPage 分页方法
public static void queryListPageGroup(){
ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();//获得引擎对象
IdentityService is = engine.getIdentityService();//有引擎对象 获取对用户组的管理的API对象
GroupQuery groupQuery = is.createGroupQuery(); //用户管理的API对象获取查询对象Query
List<Group> listPage = groupQuery.listPage(0, 2);//Query listPage 分页方法- 参数参考 limit(,)第一个参数下标,第一个参数查几个数
listPage.forEach((group)->{
System.out.println("id: "+group.getId()+"--"+"name:"+group.getName()+"--"+"type:"+group.getType());
});
engine.close();
System.exit(0);
}
//Query count方法
public static void queryCountGroup(){
ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();//获得引擎对象
IdentityService is = engine.getIdentityService();//有引擎对象 获取对用户组的管理的API对象
GroupQuery groupQuery = is.createGroupQuery(); //用户管理的API对象获取查询对象Query
long count = groupQuery.count();
System.out.println(count);
engine.close();
System.exit(0);
}
//query asc 按ID_字段反序 排序
public static void queryDescGroup(){
ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();//获得引擎对象
IdentityService is = engine.getIdentityService();//有引擎对象 获取对用户组的管理的API对象
GroupQuery groupQuery = is.createGroupQuery(); //用户管理的API对象获取查询对象Query
List<Group> list = groupQuery.orderByGroupId().desc().list();//Query asc 按ID_字段反序 排序
list.forEach((group)->{
System.out.println("id: "+group.getId()+"--"+"name:"+group.getName()+"--"+"type:"+group.getType());
});
engine.close();
System.exit(0);
}
//query asc 按ID_字段正序 排序
public static void queryAscGroup(){
ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();//获得引擎对象
IdentityService is = engine.getIdentityService();//有引擎对象 获取对用户组的管理的API对象
GroupQuery groupQuery = is.createGroupQuery(); //用户管理的API对象获取查询对象Query
List<Group> list = groupQuery.orderByGroupId().asc().list();//Query asc 按ID_字段正序 排序
list.forEach((group)->{
System.out.println("id: "+group.getId()+"--"+"name:"+group.getName()+"--"+"type:"+group.getType());
});
engine.close();
System.exit(0);
}
//Query list方法
public static void queryListGroup(){
ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();//获得引擎对象
IdentityService is = engine.getIdentityService();//有引擎对象 获取对用户组的管理的API对象
GroupQuery groupQuery = is.createGroupQuery(); //用户管理的API对象获取查询对象Query
List<Group> list = groupQuery.list();//Query list方法
list.forEach((group)->{
System.out.println("id: "+group.getId()+"--"+"name:"+group.getName()+"--"+"type:"+group.getType());
});
engine.close();
System.exit(0);
}
public static void saveGroup(){
ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();
IdentityService is = engine.getIdentityService();
//插入10条数据到act_id_group表中
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);
}
}