zoukankan      html  css  js  c++  java
  • 02--Activiti初始化表

    初始化数据库

    方法一:执行sql脚本文件activiti-5.13databasecreateactiviti.mysql.create.*.sql文件


    方法二:代码创建(有流程自然就有表)

    package cn.miye.test;
    
    import org.activiti.engine.ProcessEngine;
    import org.activiti.engine.ProcessEngineConfiguration;
    import org.junit.Test;
    
    public class TestActiviti {
    
        /** 使用代码创建工作流需要的23张表 */
        @Test
        public void createTable() {
            ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration
                    .createStandaloneProcessEngineConfiguration();
            // 连接数据库的配置
            processEngineConfiguration.setJdbcDriver("com.mysql.jdbc.Driver");
            processEngineConfiguration
                    .setJdbcUrl("jdbc:mysql://localhost:3306/activiti?useUnicode=true&characterEncoding=utf8");
            processEngineConfiguration.setJdbcUsername("root");
            processEngineConfiguration.setJdbcPassword("root");
    
            /**
             * public static final String DB_SCHEMA_UPDATE_FALSE = "false";不能自动创建表,需要表存在
             * public static final String DB_SCHEMA_UPDATE_CREATE_DROP =
             * "create-drop";先删除表再创建表 public static final String DB_SCHEMA_UPDATE_TRUE =
             * "true";如果表不存在,自动创建表
             */
            processEngineConfiguration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
            // 工作流的核心对象,ProcessEnginee对象
            ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine();
            System.out.println("processEngine:" + processEngine);
        }
    }

    方法三:使用配置文件:在类路径下创建Activiti.cfg.xml

    package cn.miye.test;
    
    import org.activiti.engine.ProcessEngine;
    import org.activiti.engine.ProcessEngineConfiguration;
    import org.junit.Test;
    
    public class TestActiviti {
        /** 使用配置文件创建工作流需要的23张表 */
        @Test
        public void createTable_2() {
            // ProcessEngineConfiguration processEngineConfiguration =
            // ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml");
            // //工作流的核心对象,ProcessEnginee对象
            // ProcessEngine processEngine =
            // processEngineConfiguration.buildProcessEngine();
    
            ProcessEngine processEngine = ProcessEngineConfiguration
                    .createProcessEngineConfigurationFromResource("activiti.cfg.xml") //
                    .buildProcessEngine();
            System.out.println("processEngine:" + processEngine);
        }
    }
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
        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
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
        <!--
                 public static final String DB_SCHEMA_UPDATE_FALSE = "false";不能自动创建表,需要表存在
                  public static final String DB_SCHEMA_UPDATE_CREATE_DROP = "create-drop";先删除表再创建表
                  public static final String DB_SCHEMA_UPDATE_TRUE = "true";如果表不存在,自动创建表
       
            processEngineConfiguration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
         -->
        <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
            <!-- 连接数据的配置 -->
            <property name="jdbcDriver" value="com.mysql.jdbc.Driver"></property>
            <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/itcast0711activiti?useUnicode=true&amp;characterEncoding=utf8"></property>
            <property name="jdbcUsername" value="root"></property>
            <property name="jdbcPassword" value="root"></property>
            <!-- 没有表创建表 -->
            <property name="databaseSchemaUpdate" value="true"></property>
        </bean>
    
    </beans>

    --1:资源库流程规则表
    act_re_deployment --部署信息表
    act_re_model --流程设计模型部署表
    act_re_procdef --流程定义数据表
    --2:运行时数据库表
    act_ru_execution --运行时流程执行实例表
    act_ru_identitylink --运行时流程人员表,主要存储任务节点与参与者的相关信息
    act_ru_task --运行时任务节点表
    act_ru_variable --运行时流程变量数据表
    --3:历史数据库表
    act_hi_actinst --历史节点表
    act_hi_attachment --历史附件表
    act_hi_comment --历史意见表
    act_hi_identitylink --历史流程人员表
    act_hi_detail --历史详情表,提供历史变量的查询
    act_hi_procinst --历史流程实例表
    act_hi_taskinst --历史任务实例表
    act_hi_varinst --历史变量表
    --4:组织机构表
    act_id_group --用户组信息表
    act_id_info --用户扩展信息表
    act_id_membership --用户与用户组对应信息表
    act_id_user --用户信息表
    ---这四张表很常见,基本的组织机构管理,关于用户认证方面建议还是自己开发一套,组件自带的功能太简单,使用中有很多需求难以满足
    --5:通用数据表
    act_ge_bytearray --二进制数据表
    act_ge_property --属性数据表存储整个流程引擎级别的数据,初始化表结构时,会默认插入三条记录,

  • 相关阅读:
    Cglib的动态代理
    idea中隐藏.idea文件夹和.iml文件
    JDBC工具类创建及使用
    JDBC的配置及使用入门
    mybatis的入门
    动态代理的具体实现
    【Flask】WTForms基本使用
    【Flask】Flask-Migrate基本使用
    【Flask】Flask-Sqlalchemy使用笔记
    【Flask】Sqlalchemy 子查询
  • 原文地址:https://www.cnblogs.com/miye/p/7283814.html
Copyright © 2011-2022 走看看