(1)添加kingbase数据库到本地Maven库中。
# mvn install:install-file -Dfile=jar包路径 -DgroupId=分组信息(本地maven仓库文件夹路径) -Dartifact=包名 -Dversion=版本 -Dpackaging=包名后缀 mvn install:install-file -Dfile=金仓jar包完整路径 -DgroupId=dm -DartifactId=dm7 -Dversion=7.0 -Dpackaging=jar
(2)添加到本地项目中添加到本地项目lib文件加即可(当前pom.xml文件可用,全局配置请将jar包添加到本地仓库)
方法一: 修改pom.xml文件,添加如下(注意:需要添加全局配置,这里使用的是达梦7版本,对应自己导入的jar文件版本即可):
dm dm7 7.0 runtime
方法二: 修改pom.xml文件,添加如下(注意:需要添加全局配置,这里使用的是8.6版本,对应自己导入的jar文件版本即可):
2.修改本地application.yml文件dm dm7 7.0 runtime system ${project.basedir}/src/lib/kingbase8-8.6.0.jar
配置文件代码块如下(示例):
druid: # 全局druid参数,绝大部分值和默认保持一致。(现已支持的参数如下,不清楚含义不要乱设置)
# 连接池的配置信息
# 初始化大小,最小,最大
initial-size: 5
min-idle: 5
maxActive: 20
# 配置获取连接等待超时的时间
maxWait: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
minEvictableIdleTimeMillis: 300000
validationQuery: SELECt 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
# 打开PSCache,并且指定每个连接上PSCache的大小
poolPreparedStatements: true
maxPoolPreparedStatementPerConnectionSize: 20
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙(达梦金仓都需要关闭wall)
filters: stat,slf4j
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录
connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
datasource:
master:
url: jdbc:dm://x.x.x.x:5236/xxxxx?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8
username: xxxxxx
password: xxxxxx
driver-class-name: dm.jdbc.driver.DmDriver
3.jpa配置
application.yml 文件示例如下:
jpa: #可参考jeecgboot官方文档添加配置
#database-platform: org.hibernate.dialect.DmDialect
open-in-view: false
database: ORACLE
properties:
hibernate:
dialect: org.hibernate.dialect.DmDialect
4.activiti修改如下:(activiti版本为:5.22.0)
修改activiti-engine-5.22.0.jar包源码(可自行去github上下载源码)
更改ProcessEngineConfigurationImpl.java类的getDefaultDatabaseTypeMappings方法
本文这里使用的达梦7版本,达梦和Oracle几乎一致,本文修改较少,可详细修改参考文件自行更改。
//kingbase
databaseTypeMappings.setProperty("DM DBMS", DATABASE_TYPE_ORACLE);
详细修改可参考: https://blog.csdn.net/weixin_39827145/article/details/106664921?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164827436216780264091751%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164827436216780264091751&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-106664921.142^v5^article_score_rank,143^v6^register&utm_term=Activiti%E6%95%B4%E5%90%88%E5%9B%BD%E4%BA%A7%E6%95%B0%E6%8D%AE%E5%BA%93&spm=1018.2226.3001.4187
最后将修改的源码重新打好jar包,添加到本地maven仓库即可。
5.mybatisplus分页配置(可不修改)@Configuration
@MapperScan(value={"org.jeecg.modules.**.mapper*"})
public class MybatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor page = new PaginationInterceptor();
//修改为对应的数据库类型,达梦对应Oracle
page.setDialectType("Oracle");
page.setLimit(-1);
return page;
}
}
6.修改DbTableUtil的getDatabaseType方法,添加如下
else if(dbType.indexOf("dm dbms")>=0){
DB_TYPE = DataBaseConstant.DB_TYPE_ORACLE;
}
7.修改SysBaseApiImpl的getDatabaseTypeByDataSource方法,添加如下
else if(dbType.indexOf("dm dbms")>=0){
DB_TYPE = DataBaseConstant.DB_TYPE_ORACLE;
}



