第二章:activiti工作流连接数据库,和eclipse安装activiti插件

第二章:activiti工作流连接数据库,和eclipse安装activiti插件第二章:activiti工作流连接数据库,和eclipse安装activiti插件

大家好,又见面了,我是你们的朋友全栈君。

创建一个maven工程,需要用的jar的pom配置如下:

(每个依赖上面有依赖的复制地址)

<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>

  <groupId>com.xiaoyexinxixn</groupId>
  <artifactId>ActivityLesson</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>ActivityLesson</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
  <!-- https://mvnrepository.com/artifact/org.activiti/activiti-engine -->
  <!-- activity工作流引擎 -->
	<dependency>
	    <groupId>org.activiti</groupId>
	    <artifactId>activiti-engine</artifactId>
	    <version>5.17.0</version>
	</dependency>
	
	<!-- https://mvnrepository.com/artifact/org.activiti/activiti-spring -->
	<!-- activiti-spring 与spring结合的jar包-->
	<dependency>
	    <groupId>org.activiti</groupId>
	    <artifactId>activiti-spring</artifactId>
	    <version>5.17.0</version>
	</dependency>
	
	<!-- https://mvnrepository.com/artifact/org.activiti/activiti-bpmn-model -->
	<!-- bpmn模型包 -->
	<dependency>
	    <groupId>org.activiti</groupId>
	    <artifactId>activiti-bpmn-model</artifactId>
	    <version>5.17.0</version>
	</dependency>
	
	<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
	<!-- 链接数据库 -->
	<dependency>
	    <groupId>mysql</groupId>
	    <artifactId>mysql-connector-java</artifactId>
	    <version>5.1.17</version>
	</dependency>
	
	
  
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

下面我们写一个连接数据库的测试类,把activity需要的24张表建出来,首先建个数据库:

第二章:activiti工作流连接数据库,和eclipse安装activiti插件

代码:

package com.xiaoyexinxixn.ActivityLesson;

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

public class ActivityConnectionDB {
	
	/*
	 * 生产数据库activity的25张表
	 */
	@Test
	public void CreateTabel(){
		//获取流程引擎配置
		ProcessEngineConfiguration pec=ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();
		//加载mysql驱动
		pec.setJdbcDriver("com.mysql.jdbc.Driver");
		//链接数据库
		pec.setJdbcUrl("jdbc:mysql://localhost:3306/db_activity");
		//设置连接mysql用户
		pec.setJdbcUsername("root");
		//设置链接mysql密码
		pec.setJdbcPassword("123456");
		//设置自动创建表和更新表
		pec.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
		
		//构建流程引擎,即获取流程引擎对象
		ProcessEngine pe=pec.buildProcessEngine();
		
	}

}

从代码中可以看出,activity引擎会自动建出24张表。

数据库中生产的24张表:

第二章:activiti工作流连接数据库,和eclipse安装activiti插件

每张表的功能就不做介绍了,读者可百度一下;

下面我们把链接数据库的方式改为配置文件格式,xml的内容可到activiti官网去拷,地址:

https://www.activiti.org/userguide/index.html#_configuration

我们再在如下图建一个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">
 
    <!-- Database configurations -->
    <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/db_activity" />
    <property name="jdbcDriver" value="com.mysql.jdbc.Driver" />
    <property name="jdbcUsername" value="root" />
    <property name="jdbcPassword" value="123456" />
    <property name="databaseSchemaUpdate" value="true" />
   
  </bean>
 
</beans>

测试代码:

/*
	 * 通过配置文件获取流程引擎对象
	 */
	@Test
	public void createTableWithXML(){
		//引擎配置
		ProcessEngineConfiguration pec=ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml");
		//获取流程引擎对象
		pec.buildProcessEngine();
	}
	

这里我们先把前面建好的表给删掉,然后再运行上面的测试的代码;

下面我们要在eclipse上下载画activity工作流程图的插件

help–>Install help software

第二章:activiti工作流连接数据库,和eclipse安装activiti插件

点击add 按钮,在弹框中输入:

name: Activiti BPMN 2.0 designer

location:  http://activiti.org/designer/update/

第二章:activiti工作流连接数据库,和eclipse安装activiti插件

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106154.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ShellExecute, WinExec, CreateProcess的使用[通俗易懂]

    ShellExecute, WinExec, CreateProcess的使用[通俗易懂]ShellExecute  ShellExecute的功能是运行一个外部程序(或者是打开一个已注册的文件、打开一个目录、打印一个文件等等),并对外部程序有一定的控制。  有几个API函数都可以实现这些功能,但是在大多数情况下ShellExecute是更多的被使用的,同时它并不是太复杂。  ShellExecute函数原型及参数含义如下:  ShellExecute(

    2022年7月27日
    1
  • MFC中使用COleVariant获取CMFCPropertyGridProperty属性窗口某个属性值

    MFC中使用COleVariant获取CMFCPropertyGridProperty属性窗口某个属性值  获取MFC属性窗口CMFCPropertyGridProperty中某个item的值时,如果不小心写错了类型,就会导致获取的结果不正确,原因就是COleVariant其实继承自一个特殊的结构体tagVARIANT。COleVariant类声明···C++classCOleVariant:publictagVARIANT{//Constructorspubli…

    2022年7月18日
    14
  • NTU NUS 申请经历

    NTU NUS 申请经历我的出国历程                ——考研+出国全纪录个人简历:本人,男,1989年出生,东北大学秦皇岛分校06级通信工程专业学生。在校期间曾获得校一等奖学金1次,二等奖学金2次,三等奖学金2次,科技创新奖学金1次,鹏远奖学金1次。曾获得校“东软杯”科技竞赛特等奖,“挑战杯”课外学术作品竞赛省三等奖,并参加过全国大学生数学建模比赛。在校期间多次获得康师傅“再来一瓶”奖励。

    2022年5月3日
    57
  • 自定义手机壁纸_ios怎么自定义动态壁纸

    自定义手机壁纸_ios怎么自定义动态壁纸拥有Android智能手机的主要好处之一就是自定义。有了足够的专业知识,您可以对它的几乎所有方面进行自定义9。值得扎根的Android惊人的定制9值得扎根的Android惊人的定制让您的设备扎根了吗?看完所有这些很棒的仅根定制之后,您可能会改变主意。阅读更多内容,但首先应该开始,是否打算建立根目录。什么是自定义ROM?了解AndroidLingo根源是什么?什么是自定义ROM?学习Android…

    2022年10月22日
    0
  • 解决Android平台布局xml文件的error parsing xml unbound prefix错误

    解决Android平台布局xml文件的error parsing xml unbound prefix错误

    2022年3月12日
    44
  • python re.compile() 详解——Python正则表达式「建议收藏」

    python re.compile() 详解——Python正则表达式「建议收藏」1概述当我们在Python中使用正则表达式时,re模块内部会干两件事情:编译正则表达式,如果正则表达式的字符串本身不合法,会报错;用编译后的正则表达式去匹配字符串。那么如果一个正则表达式要重复使用几千次,出于效率的考虑,我们是不是应该先把这个正则先预编译好,接下来重复使用时就不再需要编译这个步骤了,直接匹配,提高我们的效率2compile()预编译十分的简单,re.co…

    2022年9月1日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号