如何生成流程引擎activiti数据库表

首先第一步,引入activiti依赖


    <dependencies>
        <!-- activiti 工作流 -->
        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-spring-boot-starter</artifactId>
        </dependency>
        <!--mysql 数据库-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
    </dependencies>

这里也需要引入security的依赖 因为activiti需要

第二步创建测试类,用于生成我们的数据库表,因为我用的是Java17 用var来接收变量,如果用的是Java8则不能使用该语法

复制完代码删除var,alt+enter 自动生成变量类型即可

import org.activiti.engine.ProcessEngineConfiguration;

public class Test {

    @org.junit.jupiter.api.Test
    public void creteTable() {
        var processEngineConfiguration = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();
        //连接数据库的配置
        var url = "jdbc:mysql://localhost:3306/chihiro_activiti?&nullCatalogMeansCurrent=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&allowMultiQueries=true&allowPublicKeyRetrieval=true";
        processEngineConfiguration.setJdbcDriver("com.mysql.jdbc.Driver");
        processEngineConfiguration.setJdbcUrl(url);
        processEngineConfiguration.setJdbcUsername("root");
        processEngineConfiguration.setJdbcPassword("Lrst123456");
        //表如果不存在 则自动创建表
        processEngineConfiguration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
        //创建
        var processEngine = processEngineConfiguration.buildProcessEngine();
        System.out.println("processEngine:" + processEngine);
    }
}

直接点击运行即可生成 activiti的二十多张数据库表,如下图所示: