Springboot Activiti整合达梦DM(2)

关于整合DM,上一篇帖子我发现比较复杂,一般人难以接收,所以是尝试了一种完美解决DM兼容问题,不会报任何错误的一种方法

Activiti 6.0-7.0-8.0文件可能略有不同但是应该都是可以的

1.替换连接池

alibaba druid 1.1.3以下的版本对达梦部分语法不是很支持,所以项目中使用连接池1.1.3以下版本的建议直接替换掉成最新版本,对DM的语法支持度比较好

         <!--阿里数据库连接池 -->
			<dependency>
				<groupId>com.alibaba</groupId>
				<artifactId>druid-spring-boot-starter</artifactId>
				<version>1.2.23</version>
			</dependency>

这边我替换成1.2.23

2.增加对DM数据库的支持

因为国产数据库的完善,他的JDBC.JAR已经上传到MAVEN仓库,所以我们直接获取即可

		<!-- https://mvnrepository.com/artifact/com.dameng/DmJdbcDriver18 -->
			<dependency>
				<groupId>com.dameng</groupId>
				<artifactId>DmJdbcDriver18</artifactId>
				<version>8.1.3.140</version>
			</dependency>

3.Activiti代码改造

因为DM对Oracle语法兼容度是相当不错的,所以我们想办法让Activiti将DM数据库当成Oracle即可

这边就改造一个文件即可,我们在上面图中的maven里面找到org.activiti.engine.impl.cfg底下的

ProcessEngineConfigurationImpl.class文件

找到他之后idea右上角可能会提示可以下载源码,

我们把源码下载下来之后直接复制,在自己的项目中依据同目录下java打包的时候会自动替换相同名称文件的原则,把这个包在自己项目中建立并把源码复制进去像这样,

之后更改他的源码,之更改这一句,DM DBMS原来写的是Oracle,这里将他改为DM DBMS,这是DM的数据类型,改完之后activiti就改造这一个地方即可

上面搞完了之后这句话大概率会报错,原因是找不到javax包中的实体类

 我们将JAR包中添加如下maven

       <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
        </dependency>

先加上上面的看看原来项目有没有引用,没有引用的话在加版本号,一般就有,这是JPA的东西,Activiti本身就是有的,最好用它默认的,实在没有你就加下面的:

       <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>5.3.7.Final</version>
        </dependency>

4.yml改造

增加jpa支持

# 数据源配置
spring:
  jpa:
    properties:
      hibernate:
        dialect: org.hibernate.dialect.Oracle10gDialect
      show-sql: ture
    open-in-view: false

修改DM驱动密码,根据自己原有的,我这里因为有主从,不要copy,就换换四大件就行:

# 数据源配置
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driverClassName: dm.jdbc.driver.DmDriver
    druid:
      # 主库数据源
      master:
        url: jdbc:dm://127.0.0.1:5236/xxx?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8&nullCatalogMeansCurrent=true
        username: xxx
        password: wyj980206

值得注意的是username和数据库名最好是一样的,不然DM每一条SQL语句都得写数据库名指定,挺麻烦

好了,这样Activiti会被完美支持!创作不易,望一键三连

     关注公众号:资小库,问题快速答疑解惑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不会写爬虫的程序员B

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值