您的位置:首页 > 数据库

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

2017-10-23 14:27 183 查看
需求

使用工作流之前需要建立工作流特定的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

刷新数据库即可以看到生成的数据库表。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐