本文主要是介绍spring cativiti适配达梦数据库的方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本教程所使用的环境:
框架 | 版本 |
---|---|
jdk | 11.0.2 |
spring boot | 2.1.8.RELEASE |
spring activiti | 7.1.0.M2 |
达蒙数据库 | DM8-win-32 |
操作系统 | windows10 |
整合代码三步曲:
第一,导包
以下是pom的代码,其中要导入2个达梦的包:
DmDialect-for-hibernate5.3.jar(达梦数据库sql语法包)
DmJdbcDriver18.jar(达梦数据库驱动程序)
可以使用maven下载,但是maven下载不太稳定,所有我也把这些包上传了,驱动包和方言包在文章下载地址:
https://download.csdn.net/download/u011684553/18839032
注意,前往别选错版本,否则无法运行,把这两个包放在项目的lib文件夹里面,在pom.xml引入它们。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.8.RELEASE</version><relativePath /></parent><groupId>com.example</groupId><artifactId>demo</artifactId><version>0.0.1-SNAPSHOT</version><name>demo</name><description>Demo project for Spring Boot</description><properties><java.version>11</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency>
<!--注意:只有这个版本的hibernate兼容达梦数据库 --><dependency><groupId>org.hibernate</groupId><artifactId>hibernate-core</artifactId><version>5.3.18.Final</version></dependency><dependency><groupId>DmDialect.dialect</groupId><artifactId>DmDialect</artifactId><version>5.3.0</version><scope>system</scope><systemPath>${project.basedir}/lib/DmDialect-for-hibernate5.3.jar</systemPath></dependency><dependency><groupId>DmJdbcDriver</groupId><artifactId>DmJdbcDriver</artifactId><version>1.8.0</version><scope>system</scope><systemPath>${project.basedir}/lib/DmJdbcDriver18.jar</systemPath></dependency><!-- 工作流 start--><dependency><groupId>org.activiti</groupId><artifactId>activiti-spring-boot-starter</artifactId></dependency><!--工作流 end--></dependencies><dependencyManagement><dependencies><dependency><groupId>org.activiti.dependencies</groupId><artifactId>activiti-dependencies</artifactId><version>7.1.0.M2</version><scope>import</scope><type>pom</type></dependency></dependencies></dependencyManagement><repositories><repository><id>alfresco</id><name>Activiti Releases</name><url>https://artifacts.alfresco.com/nexus/content/repositories/activiti-releases/</url><releases><enabled>true</enabled></releases></repository></repositories><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><includeSystemScope>true</includeSystemScope></configuration></plugin></plugins></build>
</project>
第二,写配置文件
application.yml文件的配置如下:
注意两个地方,jpa的方言选择,数据库的驱动
server:port: 8080
spring:datasource:url: jdbc:dm://127.0.0.1:5236/activiti_test?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8username: SYSDBApassword: SYSDBAdriverClassName: dm.jdbc.driver.DmDriverhikari:minimum-idle: 5maximum-pool-size: 15auto-commit: trueidle-timeout: 30000pool-name: DatebookHikariCPmax-lifetime: 1800000connection-timeout: 10000 jpa:properties:hibernate:dialect: org.hibernate.dialect.DmDialectddl-auto: noneshow-sql: trueactiviti:database-schema-update: truehistory-level: fulldb-history-used: true
第三,写代码
spring activiti本身就不支持达梦数据库,启动后悔报没有找到"DM DBMS",意思说没有知道DM数据库,所以我们这个时候要重写源码,把它加上。
先看一下代码的结构,结构不能变,否则重写源码不成功
这些添加的代码和项目的依赖activiti-engine-7.1.0.M2.jar的包路径是一样的,
因为有篇优秀的文章参考,我就不在重写一遍,直接上链接:
https://blog.csdn.net/CHINESEZZZ/article/details/113738582
这篇关于spring cativiti适配达梦数据库的方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!