Avtiviti 之初始化数据库、表说明
创建Maven 项目
创建一个maven项目引入activiti相关jar包依赖即可。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.zzg</groupId><artifactId>boot-activiti</artifactId><version>0.0.1-SNAPSHOT</version></parent><artifactId>boot-activiti-design</artifactId><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.activiti</groupId><artifactId>activiti-spring-boot-starter-basic</artifactId><version>5.22.0</version></dependency></dependencies>
</project>
初始化
编写activiti 数据库初始化工具类:ActivitiDataBaseInit.java,完成activiti 数据库的初始化工作。
第一种方式:代码方式(已经测试)
package com.zzg.activiti.datatbase.init;import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngineConfiguration;
import org.junit.Test;/*** activiti 数据库初始化化* @author Administrator**/
public class ActivitiDataBaseInit {@Testpublic void init() {// 创建流程引擎配置ProcessEngineConfiguration configuration = ProcessEngineConfiguration.createStandaloneInMemProcessEngineConfiguration();// 设置数据源// configuration.setDataSource(dataSource);// 如果不使用数据源, 可以通过配置连接信息来连接数据库configuration.setJdbcDriver("com.mysql.cj.jdbc.Driver");configuration.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/boot_activiti?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true");configuration.setJdbcUsername("root");configuration.setJdbcPassword("123456");// 设置创建表的一个规则,有三种// DB_SCHEMA_UPDATE_FALSE = "false" 如果数据库里没有acti相关的表, 也不会创建// DB_SCHEMA_UPDATE_CREATE_DROP = "create-drop" 不管数据库里有没acti的相关表, 都会先删除旧表再创建新表, 不推荐在生产中使用// DB_SCHEMA_UPDATE_TRUE = "true" 如果数据库里没有acti相关的表, 会自动创建// 仔细看看, 是不是有些类似于hibernate里的ddl-auto :)configuration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_CREATE_DROP);// 构建流程引擎, 这一步就会创建好表, 但基本上表内都是空的, 因为还没有部署, 再没有流程实例ProcessEngine processEngine = configuration.buildProcessEngine();// 可以获取流程引擎的一些信息, 不过这个东西没啥用..System.out.println(processEngine.getName());}}
检查数据库是否生成成功:
第二种方式:配置文件方式,编辑activiti.cfg.xml
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration"><!-- 数据库链接配置 --><property name="jdbcUrl" value="jdbc:mysql://127.0.0.1:3306/boot_activiti?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true" /><property name="jdbcDriver" value="com.mysql.cj.jdbc.Driver" /><property name="jdbcUsername" value="root" /><property name="jdbcPassword" value="123456" /><!-- 数据库建表策略 --><property name="databaseSchemaUpdate" value="true" />
</bean>
// 1、创建配置对象(加载配置文件)
ProcessEngineConfiguration configuration = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml");
// 2、通过配置对象,创建ProcessEngine
ProcessEngine processEngine = configuration.buildProcessEngine();
System.out.println("processEngine" + processEngine);
第三种方式:项目初始化方式,添加如下代码:
// 1、创建ProcessEngine
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
System.out.println("processEngine" + processEngine);
Activiti 相关表介绍:
数据库里生成的表有如下这些
表名 | 说明 |
---|---|
ACT_EVT_LOG | 事件日志表(实验性质) |
ACT_GE_BYTEARRAY | 通用的流程定义和流程资源 |
ACT_GE_PROPERTY | 系统相关属性 |
ACT_HI_ACTINST | 历史的流程实例 |
ACT_HI_ATTACHMENT | 历史的流程附件 |
ACT_HI_COMMENT | 历史的批注信息 |
ACT_HI_DETAIL | 历史的流程运行中的细节信息 |
ACT_HI_IDENTITYLINK | 历史的流程运行过程中用户关系 |
ACT_HI_PROCINST | 历史的流程实例 |
ACT_HI_TASKINST | 历史的任务实例 |
ACT_HI_VARINST | 历史的流程运行中的变量信息 |
ACT_ID_GROUP | 组 |
ACT_ID_INFO | 用户详细信息 |
ACT_ID_MEMBERSHIP | 用户和组关系的中间表 |
ACT_ID_USER | 用户表 |
ACT_RE_DEPLOYMENT | 部署的流程信息 |
ACT_RE_MODEL | 流程模型信息 |
ACT_RE_PROCDEF | 流程定义信息 |
ACT_RU_DEADLETTER_JOB | 存储执行失败的任务表(异步) |
ACT_RU_EVENT_SUBSCR | 运行时事件 |
ACT_RU_EXECUTION | 运行时流程执行实例 |
ACT_RU_IDENTITYLINK | 运行时用户关系信息 |
ACT_RU_JOB | 运行时作业(异步) |
ACT_RU_SUSPENDED_JOB | 暂停运行的任务(异步) |
ACT_RU_TASK | 运行时任务 |
ACT_RU_TIMER_JOB | 任务定时器表(异步) |
ACT_RU_VARIABLE | 运行时变量表 |
ACT_PROCDEF_INFO | 流程定义信息表 |
从上面表名的前缀应该可以看出来
- ACT_GE 通用类
- ACT_HI 历史记录类
- ACT_ID 用户信息类
- ACT_RE 流程实例类
- ACT_RU 运行时类
Avtiviti 之初始化数据库、表说明相关推荐
- Go 学习笔记(55)— Go 标准库 sql (初始化数据库、插入、更新、删除数据库表、单行查询、多行查询、事务处理)
1. 标准库说明 Go 的标准库中是没有数据库驱动,只提供了驱动接口,有很多第三方实现了驱动,我们这里选择 go-sql-driver 这个实现是目前使用最多的.github 地址是:https:// ...
- 数据库表初始化,删除所有数据后主键ID从1开始
数据库表初始化,删除所有数据后主键ID从1开始 语法:TRUNCATE TABLE "表格名" 例子:truncate table testtable 转载于:https://ww ...
- ogg初始化mysql数据_利用OGG进行数据库表的初始化
利用OGG进行数据库表的初始化 前提是已经搭建好了OGG的运行环境和OGG程序的安装部署!!! 若不知道如何安装OGG请查阅博客中相关安装部署文档. 1.停止目标端replicat进程re1 2.配置 ...
- jPA自动创建数据库表的一些配置
2019独角兽企业重金招聘Python工程师标准>>> jPA自动创建数据库表的一些配置 hibernate.cfg.xml 中hibernate.hbm2ddl.auto配置节点如 ...
- 【唠叨两句】如何将一张树型结构的Excel表格中的数据导入到多张数据库表中...
小弟昨天遇到一个相对比较棘手的问题,就像标题说的那样.如何将一张树型结构的Excel表格中的数据导入到多张数据库表中,在现实中实际是七张数据库表,这七张表之间有着有着相对比较复杂的主外键关系,对于我这 ...
- SQL Server数据库表锁定原理以及如何解除表的锁定转
1. 数据库表锁定原理 1.1 目前的C/S,B/S结构都是多用户访问数据库,每个时间点会有成千上万个user来访问DB,其中也会同时存取同一份数据,会造成数据的不一致性或者读脏数据. 1.2 事务的 ...
- endnote初始化数据库支持_服务端编程——数据库(MySQL、sequelize) - 天生笑点低你奈我何...
一.数据库 前端发送api请求的流程 通过API发送请求,到model进行业务处理,将数据存到或在MYSQL查询,将数据一并给KOA服务器请求,最后将请求的结果返回给客户端 关系型数据库.非关系型数据 ...
- 重命名数据库表空间和数据文件
一.重命名数据库表空间名 使用alter tablespace- rename to命令,可以重命名一个永久或者临时表空间.例如,下面重命名users表空间: Alter tablespace tbs ...
- java联接pg库_成为Java流大师–第5部分:将联接的数据库表转换为流
java联接pg库 是否可以将联接的数据库表转换为Java Stream? 答案是肯定的. 由于我们已经多次提出这个问题,因此我们决定写另一篇动手实验文章,说明如何执行更高级的Stream Joins ...
最新文章
- python第一个公开发行版_Python基础篇【第一篇】:python入门
- Linux下MySQL C API简单示例
- c语言程序可以单独编译,c语言中的函数可不可以单独进行编译?_后端开发
- AttributeError系列之:AttributeError: module 'scipy.misc' has no attribute 'imread'报错问题
- Apache Camel 3只有2个月的路程
- SIA:全球半导体行业销售额7月达到454亿美元 创下月度纪录
- LogStash实现MySQL数据增量同步到ElasticSearch
- python向下_如何在python中向下转换
- office 在线浏览和编辑 部署 Office Web Apps Server
- NCBI引物设计-查找目的基因前后序列方法、序列比对
- Typora下载链接
- MOSEK安装教程及安装过程遇到的问题
- android expandablelistview横向,完美实现ExpandableListView二级分栏效果
- Expandable实现方法
- k8s命令对node调度 cordon,drain,delete 区别
- JAVA 获取零时区时间
- 如何避免黑客攻击?国内首个云端加密代码库来帮忙
- 【CTF bugku 秋名山车神】关于会话脚本、session、正则表达式
- java传真发送_调用java API发送传真
- 校外培训机构被叫停,中止营业,这属于营业中断险的保障范围吗?