02--Activiti初始化表
初始化数据库
方法一:执行sql脚本文件activiti-5.13\database\create\activiti.mysql.create.*.sql文件
方法二:代码创建(有流程自然就有表)
package cn.miye.test; import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngineConfiguration;
import org.junit.Test; public class TestActiviti { /** 使用代码创建工作流需要的23张表 */
@Test
public void createTable() {
ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration
.createStandaloneProcessEngineConfiguration();
// 连接数据库的配置
processEngineConfiguration.setJdbcDriver("com.mysql.jdbc.Driver");
processEngineConfiguration
.setJdbcUrl("jdbc:mysql://localhost:3306/activiti?useUnicode=true&characterEncoding=utf8");
processEngineConfiguration.setJdbcUsername("root");
processEngineConfiguration.setJdbcPassword("root"); /**
* public static final String DB_SCHEMA_UPDATE_FALSE = "false";不能自动创建表,需要表存在
* public static final String DB_SCHEMA_UPDATE_CREATE_DROP =
* "create-drop";先删除表再创建表 public static final String DB_SCHEMA_UPDATE_TRUE =
* "true";如果表不存在,自动创建表
*/
processEngineConfiguration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
// 工作流的核心对象,ProcessEnginee对象
ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine();
System.out.println("processEngine:" + processEngine);
}
}
方法三:使用配置文件:在类路径下创建Activiti.cfg.xml
package cn.miye.test; import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngineConfiguration;
import org.junit.Test; public class TestActiviti {
/** 使用配置文件创建工作流需要的23张表 */
@Test
public void createTable_2() {
// ProcessEngineConfiguration processEngineConfiguration =
// ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml");
// //工作流的核心对象,ProcessEnginee对象
// ProcessEngine processEngine =
// processEngineConfiguration.buildProcessEngine(); ProcessEngine processEngine = ProcessEngineConfiguration
.createProcessEngineConfigurationFromResource("activiti.cfg.xml") //
.buildProcessEngine();
System.out.println("processEngine:" + processEngine);
}
}
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
<!--
public static final String DB_SCHEMA_UPDATE_FALSE = "false";不能自动创建表,需要表存在
public static final String DB_SCHEMA_UPDATE_CREATE_DROP = "create-drop";先删除表再创建表
public static final String DB_SCHEMA_UPDATE_TRUE = "true";如果表不存在,自动创建表 processEngineConfiguration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
-->
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
<!-- 连接数据的配置 -->
<property name="jdbcDriver" value="com.mysql.jdbc.Driver"></property>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/itcast0711activiti?useUnicode=true&characterEncoding=utf8"></property>
<property name="jdbcUsername" value="root"></property>
<property name="jdbcPassword" value="root"></property>
<!-- 没有表创建表 -->
<property name="databaseSchemaUpdate" value="true"></property>
</bean> </beans>
--1:资源库流程规则表
act_re_deployment --部署信息表
act_re_model --流程设计模型部署表
act_re_procdef --流程定义数据表
--2:运行时数据库表
act_ru_execution --运行时流程执行实例表
act_ru_identitylink --运行时流程人员表,主要存储任务节点与参与者的相关信息
act_ru_task --运行时任务节点表
act_ru_variable --运行时流程变量数据表
--3:历史数据库表
act_hi_actinst --历史节点表
act_hi_attachment --历史附件表
act_hi_comment --历史意见表
act_hi_identitylink --历史流程人员表
act_hi_detail --历史详情表,提供历史变量的查询
act_hi_procinst --历史流程实例表
act_hi_taskinst --历史任务实例表
act_hi_varinst --历史变量表
--4:组织机构表
act_id_group --用户组信息表
act_id_info --用户扩展信息表
act_id_membership --用户与用户组对应信息表
act_id_user --用户信息表
---这四张表很常见,基本的组织机构管理,关于用户认证方面建议还是自己开发一套,组件自带的功能太简单,使用中有很多需求难以满足
--5:通用数据表
act_ge_bytearray --二进制数据表
act_ge_property --属性数据表存储整个流程引擎级别的数据,初始化表结构时,会默认插入三条记录,
02--Activiti初始化表的更多相关文章
- Activiti(一) activiti数据库表说明
activiti介绍: activiti是一个业务流程管理(BPM)框架.它是覆盖了业务流程管理.工作流.服务协作等领域的一个开源的.灵活的.易扩展的可执行流程语言框架.开发人员可以通过插件直接绘画出 ...
- activiti数据库表结构剖析
1.结构设计 1.1. 逻辑结构设计 Activiti使用到的表都是ACT_开头的. ACT_RE_*: ’RE’表示repository(存储),RepositoryService接口所操作的 ...
- activiti 数据表设计
activiti数据表分为5个部分: 通用数据表.流程存储表.身份数据表.运行时数据表.历史数据表 1.通用(general)数据表 以ACT_GE开头 资源表-act_ge_btyearray: 用 ...
- 【应用篇】Activiti外置表单实例demo(四)
在这里我想说的外置表单.是说我们将我们自己的jsp(.form,.html)等页面上传到工作流的数据库中,当任务运行到当前结点时.给我们像前台发送绑定好的表单. 此处是给表单绑定表单的过程 water ...
- activiti数据表介绍
activiti6.0数据库介绍 Acitiviti6.0数据库中一共有28张表,表的命名都是以ACT_开头的.第二部分是一个两个字符用例表的标识. 用于自我学习记录,后期不定期更新~~~ 数据库描述 ...
- C++学习8 构造函数的参数初始化表
构造函数是一种特殊的成员函数,在创建对象时自动执行,主要用来进行初始化工作,例如对 private 属性的成员变量赋值. 对成员变量的初始化,除了在构造函数的函数体中一一赋值,还可以采用参数初始化表. ...
- django的FormView中,自定义初始化表单数据的曲折方法
这个技巧,主要是用于表单初始化及回显. 也就是说,如果用户的数据库里有数据,则要将相应的数据显示在表单里, 如果用户的数据库里没有数据,才会生成一个空白的表单给用户, 这样才显得专业塞! 而我面对的尴 ...
- 2.8 C++参数初始化表
参考:http://www.weixueyuan.net/view/6340.html 总结: 参数初始化表可以为任何数据成员进行初始化. 初始化const成员变量的唯一方法只有利用参数初始化表. 通 ...
- (二)Activiti之——activiti数据库表介绍
1. 数据库表的命名 Activiti的表都以ACT_开头. 第二部分是表示表的用途的两个字母标识. 用途也和服务的API对应. ACT_RE_*: 'RE'表示repository. 这个前缀的表包 ...
随机推荐
- 7步教你使用git命令上传本地代码至github仓库(小白向)
前言 1:首先你需要知道github和git分别是什么?(众所周知github是全球最大同性交友网站233333) github:国外一个免费托管代码的开源网站,每位注册用户都拥有专属的个人仓库(个人 ...
- apicloud踩坑集锦
最近在用apicloud开发,这里录入一些踩坑的地方,从头到尾,要多尴尬有多尴尬,新入app开发,记录一些心得,和遇到的坑以及解决办法. 1,apicloud 打包的Android app ,打开fr ...
- 深入理解Android
http://blog.csdn.net/innost/article/details/47254381
- Arrays.asList()后调用add,remove这些method时出现java.lang.UnsupportedOperationException异常
String[] queryNames = request.getParameterValues("queryName"); List<String> queryNam ...
- ORA-00020: maximum number of processes (300) exceeded
SQL> select count(*) from v$session; COUNT(*)---------- 98 SQL> select count(*) from v$process ...
- 179 Largest Number 把数组排成最大的数
给定一个非负整数的列表,重新排列它们的顺序把他们组成一个最大的整数.例如,给定 [3, 30, 34, 5, 9],最大的组成数是 9534330.注意: 结果可能非常大,所以您需要返回一个字符串而不 ...
- java课程设计全程实录——第2天
[反思] 今天主要完成JDBC数据的连接,查阅了大量博客和书籍,繁琐而细碎.但所幸还是连上了. [日常烦心事] 下午准备用idea连测试连接的,结果电脑跑不动....CPU一度100%居高不下,ide ...
- mac重启iterm后不会自动加载.bash_profile
我用的zsh,由于平时设置的环境变量都是在.bash_profile文件中,每次重启iterm后,都需要重启手动加载.bash_profile文件,很麻烦. 设置自动加载.bash_profile的方 ...
- fullpagejs实现的拥有header和foooter的全屏滚动demo/fullpage footer
fullpagejs实现的拥有header和foooter的全屏滚动, 技术要点:给section元素加fp-auto-height类, <!DOCTYPE html> <html ...
- javascript中函数的四种调用模式详解
介绍函数四种调用模式前,我们先来了解一下函数和方法的概念,其实函数和方法本质是一样,就是称呼不一样而已.函数:如果一个函数与任何对象关系,就称该函数为函数.方法:如果一个函数作为一个对象属性存在,我们 ...