首页 > 代码库 > Activiti工作流笔记(2)

Activiti工作流笔记(2)

1.Activiti工作数据表

Activiti用来存放流程数据的表共使用23张表,表名都是以"ACT_"开头,底层操作默认使用mybatis操作

工作流Activiti的表是用来存储流程数据的,而业务的数据需要用户自己创建和维护

在使用Activiti时一定需要业务去关联流程。

以下以MySql数据库为例:

1)使用代码方式创建Activiti工作流需要的23张表

@Test
public void createTable_1() {
	//创建流程引擎配置对象
	ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();
	//连接数据库的配置
	//配置数据库驱动:对应不同数据库类型的驱动 
	processEngineConfiguration.setJdbcDriver("com.mysql.jdbc.Driver");
	//配置数据库的JDBC URL  
	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);
}

 

 2)使用XML配置文件方式创建工作流需要的23张表

配置文件:activiti.cfg.xml

<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
		<!-- 连接数据的配置 -->
		<property name="jdbcDriver" value="http://www.mamicode.com/com.mysql.jdbc.Driver"></property>
		<property name="jdbcUrl" value="http://www.mamicode.com/jdbc:mysql://localhost:3306/activiti?useUnicode=true&characterEncoding=utf8"></property>  
		<property name="jdbcUsername" value="http://www.mamicode.com/root"></property>  
        <property name="jdbcPassword" value="http://www.mamicode.com/root"></property>  
        <!-- 没有表创建表 -->  
        <property name="databaseSchemaUpdate" value="http://www.mamicode.com/true"></property>
</bean>

 调用代码:

@Test  
public void createTable_2(){  
    ProcessEngineConfiguration processEngineConfiguration= ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti-context.xml");
    ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine();
    System.out.println("processEngine:"+processEngine);  
} 

 

Activiti工作流笔记(2)