【Activiti学习三】--基于SSM整合Activiti之创建数据库表
1、导入Activiti所需Jar包
2、创建spring-activiti.xml配置文件
3、创建数据库表
参考资料
1、导入Activiti所需Jar包
<!-- activiti 工作流 -->
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-engine</artifactId>
<version>5.22.0</version>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring</artifactId>
<version>5.22.0</version>
</dependency>
2、创建spring-activiti.xml配置文件
用来注入activiti的6个service服务器,方便在controller中或service中注入
<?xml version="1.0"encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
<!-- 配置流程引擎配置信息对象 -->
<bean id="processEngineConfiguration"class="org.activiti.spring.SpringProcessEngineConfiguration"
p:dataSource-ref="dataSource"
p:transactionManager-ref="transactionManager"
p:databaseSchemaUpdate="true"
p:jobExecutorActivate="false"
p:databaseType="oracle"
p:activityFontName="宋体"
p:labelFontName="黑体"
p:xmlEncoding="utf-8"/>
<!-- 配置流程引擎 -->
<bean id="processEngine"class="org.activiti.spring.ProcessEngineFactoryBean"
p:processEngineConfiguration-ref="processEngineConfiguration"/>
<!-- 配置六个服务Bean -->
<beanid="repositoryService" factory-bean="processEngine"
factory-method="getRepositoryService" />
<beanid="runtimeService" factory-bean="processEngine"
factory-method="getRuntimeService" />
<beanid="taskService" factory-bean="processEngine"
factory-method="getTaskService" />
<beanid="historyService" factory-bean="processEngine"
factory-method="getHistoryService" />
<beanid="formService" factory-bean="processEngine"
factory-method="getFormService" />
<beanid="identityService" factory-bean="processEngine"
factory-method="getIdentityService"/>
</beans>
在applicationContext.xml中引入spring-activiti.xml配置
<!-- 导入activiti配置 -->
<importresource="spring-activiti.xml"/>
3、创建数据库表
通过一个测试类自动生成所需要的activiti的数据库表
/**
* ClassName:CreateDatabaseTest
* @Description:创建数据库表
* @author chisjchisj@foxmail.com
* @date 2018年4月8日
*/
public class CreateDatabaseTest {
public static void main(String[] args) {
// 创建流程引擎配置信息对象
ProcessEngineConfiguration pec =ProcessEngineConfiguration
.createStandaloneProcessEngineConfiguration();
// 设置数据库的类型
pec.setDatabaseType("mysql");
// 设置创建数据库的方式
//ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE(true): 如果没有数据库表就会创建数据库表,有的话就修改表结构.
//ProcessEngineConfiguration.DB_SCHEMA_UPDATE_FALSE(false): 不会创建数据库表
//ProcessEngineConfiguration.DB_SCHEMA_UPDATE_CREATE_DROP(create-drop): 先创建、再删除.
pec.setDatabaseSchemaUpdate("true");
// 设置数据库驱动
pec.setJdbcDriver("com.mysql.jdbc.Driver");
// 设置jdbcURL
pec.setJdbcUrl("jdbc:mysql://192.168.1.100:3306/**?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8");
// 设置用户名
pec.setJdbcUsername("***");
// 设置密码
pec.setJdbcPassword("***");
// 构建流程引擎对象
ProcessEngine pe = pec.buildProcessEngine(); // 调用访方法才会创建数据表
// 调用close方法时,才会删除
pe.close();
}
}
参考资料
【SSM框架整合Activiti工作流教程(spring+springmvc+mybatis)】--http://www.tpyyes.com/a/javaweb/2017/0107/36.html