今天的話,咱們大概來說下Activiti的25張表。java
Activiti的運行支持,必需要有Activiti的25張表,主要是在流程運行過程當中,記錄存儲一些參與流程的用戶主體,mysql
組,以及流程定義的存儲,流程執行時候的一些信息,以及流程的歷史信息等(後面咱們會詳細介紹這些表做用)spring
咱們先寫一個小實例,來把Activiti的25張表自動生成出來;sql
咱們先建一個Maven項目 ActivitiDemo1數據庫
pom.xml里加上 Activiti支持,以及mysql驅動包。eclipse
<dependencies> <dependency> <groupId>org.activiti</groupId> <artifactId>activiti-engine</artifactId> <version>5.19.0.2</version> </dependency> <dependency> <groupId>org.activiti</groupId> <artifactId>activiti-spring</artifactId> <version>5.19.0.2</version> </dependency> <dependency> <groupId>org.activiti</groupId> <artifactId>activiti-bpmn-model</artifactId> <version>5.19.0.2</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.38</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> </dependency> </dependencies>
而後咱們建立一個單元測試類 ActivitiTest01 (注意,有時候用本身的junit jar包,會出現詭異問題,因此咱們推薦用eclipse插件自帶的junit jar包)異步
建立後的項目結構以下:ide
而後咱們寫一個測試方法,testCreateTable單元測試
而且在建立db_activiti數據庫;測試
咱們要先來獲取流程引擎配置,而後來配置流程引擎,要配置驅動包,url,數據庫用戶名,密碼;
還要設置schema,這裏的schema要設置成update。這樣能夠自動更新
配置後,咱們經過配置來獲取流程引擎。建立實例的時候咱們就能夠自動生成須要的25張表。
上代碼:
@Test public void testCreateTable(){ ProcessEngineConfiguration pec=ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration(); // 獲取流程引擎配置 pec.setJdbcDriver("com.mysql.jdbc.Driver"); // 配置驅動 pec.setJdbcUrl("jdbc:mysql://localhost:3306/db_activiti"); // 配置鏈接地址 pec.setJdbcUsername("root"); // 用戶名 pec.setJdbcPassword("123456"); // 密碼 /** * 配置模式 true 自動建立和更新表 */ pec.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE); // 獲取流程引擎對象 ProcessEngine pe=pec.buildProcessEngine(); }
咱們運行測試類,運行完咱們刷新數據庫,便可看到25張表:
ACT_RE_*: 'RE'表示repository。 這個前綴的表包含了流程定義和流程靜態資源 (圖片,規則,等等)。
ACT_RU_*: 'RU'表示runtime。 這些運行時的表,包含流程實例,任務,變量,異步任務,等運行中的數據。 Activiti只在流程實例執行過程當中保存這些數據, 在流程結束時就會刪除這些記錄。 這樣運行時表能夠一直很小速度很快。
ACT_ID_*: 'ID'表示identity。 這些表包含身份信息,好比用戶,組等等。
ACT_HI_*: 'HI'表示history。 這些表包含歷史數據,好比歷史流程實例, 變量,任務等等。
ACT_GE_*: 'GE'表示general。通用數據, 用於不一樣場景下,如存放資源文件。
這些表結構,還有一些輔助表。咱們後續會詳細解釋,這裏你們先大致瞭解便可;
完整代碼打包下載:http://pan.baidu.com/s/1jIIqxZS