栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

jeecgboot2.0替换达梦数据库配置问题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

jeecgboot2.0替换达梦数据库配置问题

操作步骤 1.添加达梦数据库依赖到maven库或本地项目
	(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文件版本即可):


	dm
	dm7
	7.0
	runtime
	system
	${project.basedir}/src/lib/kingbase8-8.6.0.jar

2.修改本地application.yml文件

配置文件代码块如下(示例):

	  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;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/841578.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号