1.環境描述
IDEA:2018.3
MySQL:5.7
注意:這裏的idea在window系統上,而MySQL在centos7系統上
2.開發
2.1創建一個普通的Java項目
File---->new---->project---->選擇javaee—>helloworld模板(可選可不選)---->項目名和存放的路徑---->finish
2.2項目創建完成之後,由於沒有lib文件夾,所以需要手動創建
2.3代碼的編寫
創建包和類名
導入jar包:
jar包
第一種自動建表方式(不使用配置文件)
package com.redpig.activiti;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngineConfiguration;
import org.junit.Test;
public class HelloWorld {
/**
* 使用activiti框架完成自動創建表(不設置配置文件)
*/
@Test
public void test01(){
//創建一個流程成引擎對像
ProcessEngineConfiguration conf = ProcessEngineConfiguration.
createStandaloneInMemProcessEngineConfiguration();
//設置數據源
conf.setJdbcDriver("com.mysql.jdbc.Driver");
conf.setJdbcUrl("jdbc:mysql://遠程服務器ip:3306/activiti");
conf.setJdbcUsername("root");
conf.setJdbcPassword("數據庫密碼);
//設置自動創建表
conf.setDatabaseSchemaUpdate("true");
//在創建引擎對象的時候自動創建表
ProcessEngine processEngine = conf.buildProcessEngine();
}
}
3代碼編寫完成之後,運行代碼
4.查看輸出的日誌信息(沒有error)
5.查看數據庫,看錶是否創建成功
使用框架自動創建了28張表
第二種創建方式:(使用配置文件)
1.首先配置在src下面創建activiti-context.xml文件
<!-- 創建流程引擎配置對象 -->
<bean id="ProcessEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration">
<property name="jdbcDriver" value="com.mysql.jdbc.Driver"/>
<property name="jdbcUrl" value="jdbc:mysql://數據庫路徑:3306/activiti" />
<property name="jdbcUsername" value="root" />
<property name="jdbcPassword" value="數據庫密碼" />
<property name="databaseSchemaUpdate" value="true" />
代碼編寫:
/**
* 使用框架提供自動建表(提供配置文件)
*/
@Test
public void test02(){
String resource = "activiti-custom-context.xml";//設置xml文件的名字
String beanName = "ProcessEngineConfiguration";//設置id
ProcessEngineConfiguration conf = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource(resource, beanName);
ProcessEngine processEngine = conf.buildProcessEngine();
}
寫完之後就可以測試啦!!我在這就不測試啦,測試方式和第一種一樣,運行完之後,查看一下數據庫
第三種自動建表方式(使用默認配置)
要求配置名字必須爲activiti-context.xml或activiti.cfg.xml,因爲在第二種方式自動建表的時候就已經寫好默認配置的名字啦,這次我們只用修改一下xml配置文件的內容即可
首先編寫一個引擎工廠bean
<!-- 配置一個流程引擎工廠bean,用於創建流程引擎對象 -->
<bean id="processEnging" class="org.activiti.spring.ProcessEngineFactoryBean">
<!-- 通過set方法注入流程引擎配置對象 -->
<property name="ProcessEngineConfiguration" ref="ProcessEngineConfiguration"/>
</bean>
代碼編寫:
/**
* 使用默認的配置文件
*/
@Test
public void test03() {
ProcessEngine defaultProcessEngine = ProcessEngines.getDefaultProcessEngine();
}