Flowable6.6.0适配达梦数据库
1.连接配置
1.1.src/main/java 路径下创建 bin 文件夹, 拷入jar包
1.2.pom.xml文件引入配置jar包
<!--DM JDBC驱动 -->
<dependency>
<groupId>com.dm</groupId>
<artifactId>Dm8JdbcDriver</artifactId>
<version>1.8</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/lib/Dm8JdbcDriver18.jar</systemPath>
</dependency>
1.3.Pom.xml要有数据库连接池的配置
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.20</version>
</dependency>
1.4.核心配置文件添加达梦数据库连接配置
spring:
application:
name: demo
datasource:
driver-class-name: dm.jdbc.driver.DmDriver
url: jdbc:dm://127.0.0.1:5236?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8
username: SYSDBA
password: power86507350
driverClassName: dm.jdbc.driver.DmDriver
1.5.初始化flowable表
使用连接工具连接数据库
打开flowable.oracle.all.create.sql, 拷出里面的语句执行
注意: 只适用于flowable6.6.0, 更高版本请下载员码找
附: 源码sql文件所在的地址
flowable-engine-master\distro\sql\create\all
2.重写类
2.1.AbstractEngineConfiguration类
根据路径: src/main/java/org/flowable/common/engin/impl新建五个包
注意: 都是嵌套的包别弄错了
先随便找一个方法, new AbstractEngineConfiguration()类
导入这个类, 然后根据类名点击去
在impl包下建一个AbstractEngineConfiguration同名类,把上面的class文件的同名类里面代码拷到我们新建的类里
在新建的类里搜索getDefaultDatabaseTypeMappings方法,在方法倒数第二行添加达梦数据库支持配置
2.2.LiquibaseBasedSchemaManager类
先随便找一个方法, new LiquibaseBasedSchemaManager()类
导入这个类, 然后根据类名点击去
根据路径: src/main/java/org/flowable/common/engin/impl 下面新建一个db的包, 在db包下面新建一个同名LiquibaseBasedSchemaManager类, 拷入原本类的代码, 查找schemaCheckVersion这个方法, 注释掉表单引擎校验这行代码即可
2.3.JdbcConnection类
先随便找一个方法, new JdbcConnection()类
导入这个类, 然后根据类名点击去
根据路径: src/main/java/liquibase.database.jvm下面新建一个同名JdbcConnection类, 然后把原本类的代码拷入进入, 搜索以下两个方法, 修改成url包含达梦就return 8
2.4.DruidPooledStatement 类
先随便找一个方法, new DruidPooledStatement ()类
导入这个类, 然后根据类名点击去
将其中的executeUpdate和execute方法(方法重载了多次有六个), 在方法执行sql语句前, 把达梦不支持的类型转换成对应支持的数据类型, 六个都这样改即可