【入门篇】Activiti配置数据库执行策略

需求

使用工作流之前需要建立工作流特定的23张或者25张表,在这里,有两种方式建立工作流的数据库。

方案

 

  • 方案一:

 

直接利用sql脚本在数据库执行,从而生成生成指定数据表的数据库

 

  • 方案二:

 

利用配置文件方式,配置数据库的生成策略。

如下:

首先新建一个数据库,例如:activititest0916

配置文件activiti.cfg.xml:

 

<!-- 数据源 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
		<property name="driverClassName" value="com.mysql.jdbc.Driver" />
		<!-- activititest0916当前数据库名称
				username:mysql用户名
				password:mysql访问密码
		 -->
		<property name="url" value="jdbc:mysql://localhost:3306/activititest0916" />
		<property name="username" value="root" />
		<property name="password" value="root" />
	<property name="maxActive" value="3" />
		<property name="maxIdle" value="1" />
	</bean>
<!-- ProcessEngineConfiguration
ProcessEngineConfiguration:用于创建ProcessEngine
 -->
<bean id="processEngineConfiguration"
	class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
	<!-- 数据源 -->
	<property name="dataSource" ref="dataSource" />
	<!-- activiti数据库表处理策略 -->
	<!--  false(默认):检查数据库表的版本和依赖库的版本, 如果版本不匹配就抛出异常。
			true: 构建流程引擎时,执行检查,如果需要就执行更新。 如果表不存在,就创建。(常用)
			create-drop: 构建流程引擎时创建数据库表, 关闭流程引擎时删除这些表。
			drop-create:先删除表再创建表。(常用,使用完成后改为true)
			create: 构建流程引擎时创建数据库表, 关闭流程引擎时不删除这些表。
	 -->
	<property name="databaseSchemaUpdate" value="true"/>
</bean>

 

 

  • Java程序创建数据库思路:

 

通过java程序创建activiti核心引擎对象(ProceccEngine),创建引擎对象时候,自动检测数据库环境,根据设置activiti数据库操作策略,操作数据库。

 

package cn.itcast.activiti.db;

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

/**
 * 
 * <p>Title: CreateDb.java</p>
 * <p>Description:创建数据库 </p>
 * <p>Copyright: Copyright (c) 2017</p>
 * <p>Company: www.itcast.cn</p>
 * @author 大米时代·周丽同
 * @date 2017年10月23日上午11:50:54
 * @version 1.0
 */
public class CreateDb {
	public static void main(String[] args){
		/*
		 * false(默认):检查数据库表的版本和依赖库的版本, 如果版本不匹配就抛出异常。
			true: 构建流程引擎时,执行检查,如果需要就执行更新。 如果表不存在,就创建。(常用)
			create-drop: 构建流程引擎时创建数据库表, 关闭流程引擎时删除这些表。
			drop-create:先删除表再创建表。(常用,使用完成后改为true)
			create: 构建流程引擎时创建数据库表, 关闭流程引擎时不删除这些表。
		 */
		//创建引擎对象,自动检查数据库环境,由于策略设置为true,如果表不存在自动创建表
		//指定activiti.cfg.xml文件
		String resource = "activiti.cfg.xml";
		//创建ProcessEngineConfiguration
		//使用createProcessEngineConfigurationFromResource默认去activiti.cfg.xml里面去找bean为processEngineConfiguration
		ProcessEngineConfiguration configuration = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource(resource);
		//使用下边的方法,指定processEngineConfiguration的id
		//ProcessEngineConfiguration configuration2 = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource(resource, beanName);
		//通过ProcessEngineConfiguration创建引擎对象ProcessEngine
		ProcessEngine processEngine = configuration.buildProcessEngine();
		System.out.println(processEngine);
	}
}


右键-run as-Java Application

 

刷新数据库即可以看到生成的数据库表。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

女汉纸一枚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值