spring cativiti适配达梦数据库的方法

本教程所使用的环境:

框架版本
jdk11.0.2
spring boot2.1.8.RELEASE
spring activiti7.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-8
    username: SYSDBA
    password: SYSDBA
    driverClassName: dm.jdbc.driver.DmDriver
    hikari:
      minimum-idle: 5
      maximum-pool-size: 15
      auto-commit: true
      idle-timeout: 30000
      pool-name: DatebookHikariCP
      max-lifetime: 1800000
      connection-timeout: 10000     
  jpa:
   properties:
      hibernate:
        dialect: org.hibernate.dialect.DmDialect
        ddl-auto: none
        show-sql: true


  activiti:
    database-schema-update: true
    history-level: full
    db-history-used: true

第三,写代码

spring activiti本身就不支持达梦数据库,启动后悔报没有找到"DM DBMS",意思说没有知道DM数据库,所以我们这个时候要重写源码,把它加上。
先看一下代码的结构,结构不能变,否则重写源码不成功
在这里插入图片描述
这些添加的代码和项目的依赖activiti-engine-7.1.0.M2.jar的包路径是一样的,
在这里插入图片描述
因为有篇优秀的文章参考,我就不在重写一遍,直接上链接:

https://blog.csdn.net/CHINESEZZZ/article/details/113738582

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值