Activiti連接達夢數(shù)據(jù)庫_第1頁
Activiti連接達夢數(shù)據(jù)庫_第2頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 5/5Activiti連接達夢數(shù)據(jù)庫 目錄 1 環(huán)境準備 (1) 2 創(chuàng)建SQL腳本 (1) 3 下載所需依賴包 (2) 3.1IDEA配置使用阿里云MAVEN倉庫 (2) 3.2下載所有依賴包 (5) 4 修改配置文件 (5) 4.1修改APPLICATION.PROPERTIES文件 (5) 4.2修改POM.XML文件 (6) 5 加載DM驅動程序 (6) 5.1拷貝DM驅動程序 (6) 5.2將驅動程序打入M AVEN倉庫 (7) 6 修改ACTIVITY-ENGINE-5.22.0 (8) 6.1修改P ROCESS E NGINE C ONFIGURATION I MPL文件 (

2、9) 6.2修改D B S QL S ESSION F ACTORY文件 (9) 6.3修改A BSTRACT Q UERY文件 (10) 7 ACTIVITY-ENGINE-5.22.0打包 (11) 8 驗證結果 (12) 9 附錄 (12) 1環(huán)境準備 項目名稱:Spring boot整合activiti工作流引擎實例 Spring-Boot-Activiti5.22.0項目文件:Spring-Boot-Activiti5.22.0.zip 開發(fā)工具:IntelliJ IDEA 2020.2 (Ultimate Edition) IDEA安裝路徑:D:IDEA 項目路徑:D:IDEAwo

3、rk 將項目文件解壓至D:IDEAwork目錄下,并導入IDEA: 2創(chuàng)建SQL腳本 將項目中activiti.sql腳本在數(shù)據(jù)庫中創(chuàng)建。 說明:項目中activiti.sql腳本是Mysql的語法,可先在Mysql中創(chuàng)建,再通過DTS工具遷移至DM中。也可使用以下activiti.sql直接在DM中創(chuàng)建(以下activiti.sql語法已修改為DM語法)。 DM語法activiti.sql腳本:activiti.sql 3下載所需依賴包 3.1IDEA配置使用阿里云maven倉庫 IDEA工具左上角:文件設置構建、執(zhí)行、部署構建工具Maven 指定以下三個目錄: Maven主目錄(H): D

4、:/IDEA/plugins/maven/lib/maven3 用戶設置文件(S): D:IDEApluginsmavenlibmaven3confsettings.xml 本地存儲庫(R):C:UsersAdministrator.m2repository 在D:IDEApluginsmavenlibmaven3confsettings.xml文件中新增以下內容,使用阿里云maven倉庫: central 3.2下載所有依賴包 4修改配置文件 4.1修改perties文件 將配置文件中數(shù)據(jù)源部分,改為達夢數(shù)據(jù)源: # datasource spring.datasource.url=jdbc

5、:dm:/:5236 spring.datasource.driver-class-name=dm.jdbc.driver.DmDriver http:/./doc/2e4cb966a1116c175f0e7cd184254b35effd1ad0.html ername=SYSDBA spring.datasource.password=SYSDBA 4.2修改pom.xml文件 在配置文件中新增達夢驅動部分: 1.8.0 5加載DM驅動程序 5.1拷貝DM驅動程序 達夢數(shù)據(jù)庫驅動無法通過maven在線下載。所以通過將DM8的驅動程序加載到Maven倉庫中實現(xiàn),使用的驅動程序如下: 注意:Dm

6、JdbcDriver18.jar等名字和springboot不兼容。需要試用DmJdbcDriver.jar這個名字。 將驅動程序拷貝到Maven倉庫中,并自定義創(chuàng)建對應的路徑(紅色字體需要自己創(chuàng)建)。本示例路徑在: C:UsersAdministrator.m2repositorycomdmDmJdbcDriver1.8.0DmJdbcDriver.j ar 5.2將驅動程序打入Maven倉庫 使用mvn.cmd工具將DM8驅動程序打入Maven倉庫,mvn.cmd工具在:D:IDEApluginsmavenlibmaven3bin目錄下,通過以下命令進行打入Maven倉庫: mvn.cmd

7、 install:install-file -DgroupId=com.dm -DartifactId=DmJdbcDriver -Dversion=1.8.0 -Dpackaging=jar - Dfile=C:UsersAdministrator.m2repositorycomdmDmJdbcDriver1.8.0DmJdbcD river.jar 點擊重新加載,DM驅動程序就不報錯了。 6修改Activity-engine-5.22.0 將activiti-engine-5.22.0相關源碼拷貝到工程src下,保持包路徑不變,并做相應修改以支持達夢數(shù)據(jù)庫。 6.1修改ProcessEng

8、ineConfigurationImpl文件 在org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl文件中,增加標紅部分: public static final String DATABASE_TYPE_DM = dm; public static final String DATABASE_TYPE_H2 = h2; public static final String DATABASE_TYPE_HSQL = hsql; public static final String DATABASE_TYPE_MYSQL = my

9、sql; public static final String DATABASE_TYPE_ORACLE = oracle; protected static Properties getDefaultDatabaseTypeMappings() Properties databaseTypeMappings = new Properties(); databaseTypeMappings.setProperty(DM DBMS, DATABASE_TYPE_DM); databaseTypeMappings.setProperty(H2, DATABASE_TYPE_H2); 6.2修改Db

10、SqlSessionFactory文件 在org.activiti.engine.impl.db.DbSqlSessionFactory文件中,增加標紅部分:if (oracle.equals(databaseType) | dm.equals(databaseType) bulkInsertableMap.put(EventLogEntryEntity.class, Boolean.FALSE); 在org.activiti.engine.impl.db.DbSqlSessionFactory文件中,增加標紅部分:/ dm databaseSpecificLimitBeforeStateme

11、nts.put(dm, ); databaseSpecificLimitAfterStatements.put(dm, LIMIT #maxResults OFFSET #firstResult); databaseSpecificLimitBetweenStatements.put(dm, ); databaseOuterJoinLimitBetweenStatements.put(dm, ); databaseSpecificOrderByStatements.put(dm, defaultOrderBy); / h2 databaseSpecificLimitBeforeStatemen

12、ts.put(h2, ); databaseSpecificLimitAfterStatements.put(h2, LIMIT #maxResults OFFSET #firstResult); databaseSpecificLimitBetweenStatements.put(h2, ); databaseOuterJoinLimitBetweenStatements.put(h2, ); databaseSpecificOrderByStatements.put(h2, defaultOrderBy); 6.3修改AbstractQuery文件 在org.activiti.engine

13、.impl.AbstractQuery文件中,增加標紅部分(2處):if (nullHandlingOnOrder.equals(NullHandlingOnOrder.NULLS_FIRST) if (ProcessEngineConfigurationImpl.DATABASE_TYPE_H2.equals(databaseType) | ProcessEngineConfigurationImpl.DATABASE_TYPE_HSQL.equals(databaseType) | ProcessEngineConfigurationImpl.DATABASE_TYPE_POSTGRES.

14、equals(databaseType) | ProcessEngineConfigurationImpl.DATABASE_TYPE_ORACLE.equals(databaseType) | ProcessEngineConfigurationImpl.DATABASE_TYPE_DM.equals(databaseType) orderBy = orderBy + defaultOrderByClause + NULLS FIRST; else if (ProcessEngineConfigurationImpl.DATABASE_TYPE_MYSQL.equals(databaseTy

15、pe) orderBy = orderBy + isnull( + column + ) desc, + defaultOrderByClause; else if (ProcessEngineConfigurationImpl.DATABASE_TYPE_DB2.equals(databaseType) | ProcessEngineConfigurationImpl.DATABASE_TYPE_MSSQL.equals(databaseType) orderBy = orderBy + case when + column + is null then 0 else 1 end, + de

16、faultOrderByClause; else orderBy = orderBy + defaultOrderByClause; else if (nullHandlingOnOrder.equals(NullHandlingOnOrder.NULLS_LAST) if (ProcessEngineConfigurationImpl.DATABASE_TYPE_H2.equals(databaseType) | ProcessEngineConfigurationImpl.DATABASE_TYPE_HSQL.equals(databaseType) | ProcessEngineConf

17、igurationImpl.DATABASE_TYPE_POSTGRES.equals(databaseType) | ProcessEngineConfigurationImpl.DATABASE_TYPE_ORACLE.equals(databaseType) | ProcessEngineConfigurationImpl.DATABASE_TYPE_DM.equals(databaseType) orderBy = orderBy + column + + sortOrder + NULLS LAST; else if (ProcessEngineConfigurationImpl.D

18、ATABASE_TYPE_MYSQL.equals(databaseType) orderBy = orderBy + isnull( + column + ) asc, + defaultOrderByClause; else if (ProcessEngineConfigurationImpl.DATABASE_TYPE_DB2.equals(databaseType) | ProcessEngineConfigurationImpl.DATABASE_TYPE_MSSQL.equals(databaseType) orderBy = orderBy + case when + column + is null then 1 else 0 end, + defaultOrderByClause; else orderBy = orderBy + defaultOrderByClau

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論