从零开始学习Activiti工作流,记录下学习过程。

  关于工作流的简介没什么好介绍了,只能说是个很有用的东西,数据库中23张表分别有什么用网上也有很详细的介绍,这里也不多加说明。activiti开发中除了需要必备的包之外,JDK要求在1.6以上,开发环境为Eclipse3.7或者以上版本,myeclipse为8.6版本,目前我使用的是JDK1.8.0_45和myeclipse2014。

  在开发Activiti时需要安装Activiti设计器。在myeclipse中打开Help -> Install New Software. 点击Add,填入Name: Activiti BPMN 2.0 designer  Location: http://activiti.org/designer/update/  选中 "Contact all updates sites.."即可安装,这种方式需要连网。或者将下载好的插件全部内容放入eclipse根目录的dropins文件夹下。即可完成设计器插件的安装。安装完成后,打开菜单Windows->Preferences->Activiti->Save,勾选Create process definition image when saving the diagrm。这样会在流程文件保存时自动生成流程图。

  以上完成所有配置,即可开始设计Activiti工作流。

  下面开始第一个activiti工作流,数据库使用mysql,如果使用其他数据库在数据库部分略作修改即可。

  新建一个activiti工程,得到如图所示的文件结构

  

  在根目录新建一个lib文件夹,导入需要的jar包。方便后续查看和管理。至此,一个基本的工程就建立好了,现在就可以开始开发activiti了。

  由于activiti一共有23张数据库表,开发时应该先生成这23张数据库表,我使用的是数据库的方式生成。

  首先,在src/test/java中建立一个名为activiti.cfg.xml的配置文件,主要是用于建立数据库连接。代码如下

  <?xml version="1.0" encoding="UTF-8"?>

  <beans xmlns="http://www.springframework.org/schema/beans"
  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">

  

<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&amp;characterEncoding=utf8"></property>
<property name="jdbcUsername" value="root"></property>
<property name="jdbcPassword" value="123456"></property>
<!-- 没有表创建表 -->
<property name="databaseSchemaUpdate" value="true"></property>
</bean>

  </beans>

  很基本的一些配置,建立数据库连接。在src/test/java中,新建一个unit package,新建Testactiviti.java文件,代码如下

  package junit;

  import org.junit.Test;

  import org.activiti.engine.ProcessEngine;
  import org.activiti.engine.ProcessEngineConfiguration;

  public class TestActiviti {

  //使用配置文件创建数据库表
  @Test
  public void createTable() {
  

ProcessEngine processEngine = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml") //
.buildProcessEngine();

  }

  }

  使用junit测试运行createTable()即可在数据库中完成23张表的建立,表如下图

  

  至此,activiti需要的表就建立完成了

Activiti工作流 安装myeclipse activiti设计插件并生成数据库表的更多相关文章

  1. sts使用mybatis插件直接生成数据库表的mapper类及配置文件

    首先点击help------>Eclipse Marketplace----->在find中搜索mybatis下面图片的第一个 点击installed 还需要一个配置文件generator ...

  2. mybatise插件反向生成数据库表相关Java代码

    1.下载相关jar包https://github.com/mybatis/generator/releases 2.配置xml文件 <?xml version="1.0" e ...

  3. Intellij IDEA集成mybatis-generator插件自动生成数据库实体操作类

    Intellij IDEA集成mybatis-generator插件自动生成数据库实体操作类 转载至:https://blog.csdn.net/fishinhouse/article/details ...

  4. activiti工作流委托功能的设计和实现

    最近公司开发一个项目,客户提出了一个需求,用户在出差的时候,可以将自己的工作进行委托.可以指定委托时间.委托工作内容.指定委托人等等内容. 然后我就上网查询资料,发现activiti工作流本身并不支持 ...

  5. Activiti工作流框架学习(一)之通用数据表详细介绍

    文/朱季谦 Activiti工作流引擎自带了一套数据库表,这里面有一个需要注意的地方: 低于5.6.4的MySQL版本不支持时间戳或毫秒级的日期.更糟糕的是,某些版本在尝试创建此类列时将引发异常,而其 ...

  6. mysql设计与优化以及数据库表设计与表开发规范

    一.设计问题? 1.主键是用自增还是UUID ? Innodb 中的主键是聚簇索引. 如果主键是自增的,那么每次插入新的记录,记录就会顺序添加到当前索引节点的后续位置,当一页写满,就会自动开辟一个新的 ...

  7. 工作流引擎详解!工作流开源框架ACtiviti的详细配置以及安装和使用

    创建ProcessEngine Activiti流程引擎的配置文件是名为activiti.cfg.xml的XML文件.注意与使用Spring方式创建流程引擎是不一样的 使用org.activiti.e ...

  8. Activiti工作流学习笔记一

    Activiti工作流 一:Activiti第一天 1:工作流的概念 说明: 假设:这两张图就是华谊兄弟的请假流程图 图的组成部分: 人物:范冰冰冯小刚王中军 事件(动作):请假.批准.不批准 工作流 ...

  9. 手把手教你如何玩转Activiti工作流

    手把手教你如何玩转Activiti工作流 置顶 2018年01月30日 19:51:36 Cs_hnu_scw 阅读数:24023   版权声明:本文为博主原创文章,未经博主允许不得转载. https ...

随机推荐

  1. InsightFace源码以及pre-train模型以及使用

    一下摘自:https://blog.csdn.net/Fire_Light_/article/details/79602705 论文链接:ArcFace: Additive Angular Margi ...

  2. C++之控制内存分配

    一.内存分配方式 在C++中,内存分成5个区,他们分别是堆.栈.自由存储区.全局/静态存储区和常量存储区.栈:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释 ...

  3. Android开发 string.xml资源添加参数

    挖坑:参考:https://www.cnblogs.com/leelugen/p/6685905.html

  4. Let's Encrypt 安装配置教程,免费的 SSL 证书

    官网:https://letsencrypt.org/ 安装Let's Encrypt 安装非常简单直接克隆就可以了 git clone https://github.com/letsencrypt/ ...

  5. Altera FPGA– Bit Slip

    通过在接收端加延时,在延时间隙插入'0'或'1',以使最终接收和期望数据一致. BitSlip操作要注意几点: 1,BitSlip操作在rx_bitslip的上升沿即开始: 2,BitSlip操作开始 ...

  6. 基于Element-UI的el-table,input框输入实现排序功能

    最终效果如下 实现要求: 如果输入的内容不是非负整数,那么提示报错,并且将值变为输入前的内容: 如果输入正确,则当输入的内容发生改变并且失去焦点以后,触发事件,重新获取列表: 实现思路 使用原生的in ...

  7. Mysql优化系列之表设计规范和优化

    一.范式 如果详细的讲范式,要写大大大篇文章来讲,这里假设大家知道一些基本的范式规则,我用简洁的语句和例子说明 第一范式:列不可再分,譬如地址字段,可以再细分为省市区门牌号等等(其实还是看需求怎么整) ...

  8. Spring中AOP的实现

    Spring中整合了AOP的功能,虽然有不足,没有专门做AOP框架的那么完美,但是用一用感觉还是不错的 一些概念: AOP 面向切面编程 aspect 切面/切面类(我个人认为一个真正被解耦的程序,切 ...

  9. 使用virtualenv发布Python程序

    客户环境不能上网,开始想把所有依赖包下载下来,进入客户环境进行安装.但为了避免出差,部署工作交给其他同事了,我想还是需要更简单的方式. 实验了一下virtualenv是可以的 1. 创建一个新的环境( ...

  10. <python基础>封装,继承,多态,重写,重载

    什么是封装? 所谓的面向对象就是将我们的程序模块化,对象化,把具体事物的特性属性和通过这些属性来实现一些动作的具体方法放到一个类里面,这就是封装.封装是我们所说的面相对象编程的特征之一.除此之外还有继 ...