SrpingBoot集成Activiti之数据库初始化

原料:SpringBoot 2.2.5.RELEASE,Activiti 7.0.0.GA,Mysql 8.0.18

一、创建SpringBoot基础工程

主要是引入依赖

      <dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
		</dependency>
		<dependency>
			<groupId>org.activiti</groupId>
			<artifactId>activiti-spring-boot-starter</artifactId>
			<version>7.0.0.GA</version>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</dependency>
	</dependencies>    

二、配置文件

在resource下边创建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">
		<property name="databaseType" value="mysql"></property>
		<property name="jdbcUrl"
			value="jdbc:mysql://localhost:3306/activiti?serverTimezone=UTC"></property>
		<property name="jdbcDriver" value="com.mysql.cj.jdbc.Driver"></property>
		<property name="jdbcUsername" value="g****o"></property>
		<property name="jdbcPassword" value="******"></property>
	</bean>
</beans>

三、运行测试

编写运行测试类

	public static void main(String[] args) {
		 DbSchemaCreate.main(args);
		//SpringApplication.run(ActivitiInitDbApplication.class, args);
	}

执行该main方法,控制台有相应的输出日志,数据库中也表格生成。

  

如上图:表格共25张,(activiti7没有ID类的表,因为这块通常业务端已有)

另外一种集成方式为标准的整合,即无上述的xml 配置文件。相关依赖引入后,只要在application.properties中做配置即可

spring.datasource.url=jdbc:mysql:///activiti?serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource


spring.activiti.db-history-used=true

然后启动即会生成相关表格,值得注意的是,默认情况下不会生成history表格,必须加上spring.activiti.db-history-used=true方会生成。

另外关于表格生成的策略spring.activiti.database-schema-update说明如下 :

flase:       默认值。activiti在启动时,会对比数据库表中保存的版本,如果没有表或者版本不匹配,将抛出异常。(生产环境常用)
true:        activiti会对数据库中所有表进行更新操作。如果表不存在,则自动创建。(开发时常用)
create_drop: 在activiti启动时创建表,在关闭时删除表(必须手动关闭引擎,才能删除表)。(单元测试常用)
drop-create: 在activiti启动时删除原来的旧表,然后再创建新表(不需要手动关闭引擎)。

 

posted on 2020-03-09 11:07  广州蝈蝈  阅读(1126)  评论(0)    收藏  举报

导航