美文网首页
JEP平台国产化适配说明文档

JEP平台国产化适配说明文档

作者: 天生小包 | 来源:发表于2020-08-12 19:07 被阅读0次

1、JEP5国产化适配

说明:此章节仅针对以JEP5为基础开发的项目,目前已测试华夏项目
环境准备:

数据库:Oracle11 =》 达梦8
Java: JDK1.8、openJDK8
开发工具:eclipse

1.1 、Oracle11迁移达梦8

1.1.1、安装DM8数据库,参考官方安装文档。
1.1.2、DM8新建用户,参考官方文档,给用户DBA权限。
1.1.3、迁移数据,在DM8安装目录tool下有“DM数据迁移工具”,可轻松将Oracle、MySQL、DB2等主流数据库数据迁移到DM库。
1.1.4、迁移过程中,需要注意有主外键的表,可能存在迁移失败,需要手动处理。

2、添加数据库驱动
2.1 在安装目录drivers 下可以找到所需要的驱动,需要将如下驱动添加到项目中。

DmJdbcDriver18.jar :达梦数据库驱动
DmDialect-for-hibernate5.0.jar:hibernate5.0 -- 5.2 环境
DmDictionary.jar :openjpa1.2:方言包,对应 Jdk1.6及以上环境
dmjooq-dialect-3.12.3.jar:jooq方言包,对应 Jdk1.8及以上环境
dm8-oracle-jdbc16-wrapper.jar:oracle 到达梦的JDBC驱动桥接,应用中如果使用了非标准的oracle JDBC特有的对象,无需修改应用代码,可以桥接到达梦的JDBC连接达梦数据库,对应 Jdk1.6及以上环境
DmHibernateSpatial-1.1.jar:hibernate spatial方言包,对应hibernate spatial 1.1环境,对应 Jdk1.5及以上环境
gt-dameng-17.1.jar:GeoTools 17.1环境方言包,对应 Jdk1.8及以上环境

3、jdbc.properties文件修改

jdbc.driverClassName=dm.jdbc.driver.DmDriver #数据库驱动
jdbc.url=jdbc:dm://10.114.150.126:5236 #数据库ID和端口
jdbc.username=RISKMON #数据库用户名
jdbc.password=123456789 #数据库密码
hibernate.dialect=org.hibernate.dialect.DmDialect #hibernate达梦数据库方言
hibernate.default_schema=RISKMON #达梦数据库模式

4、工作流,需要修改源码
4.1、在org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl.java中
#修改getDefaultDatabaseTypeMappings()方法,增加如下代码:
databaseTypeMappings.setProperty("DM DBMS", "dm");
4.2 在org.activiti.engine.impl.db.DbSqlSessionFactory.java中
#修改static{},增加如下代码
// dm
databaseSpecificLimitBeforeStatements.put("dm", "");
databaseSpecificLimitAfterStatements.put("dm", "LIMIT #{maxResults} OFFSET #{firstResult}");
databaseSpecificLimitBetweenStatements.put("dm", "");
databaseOuterJoinLimitBetweenStatements.put("dm", "");
databaseSpecificOrderByStatements.put("dm", defaultOrderBy);
addDatabaseSpecificStatement("dm", "selectExclusiveJobsToExecute", "selectExclusiveJobsToExecute_integerBoolean");
5、Birt 报表

修改报表数据源:

<property name="odaDriverClass">dm.jdbc.driver.DmDriver</property>
<property name="odaURL">jdbc:dm://10.114.150.126:5236</property>
<property name="odaUser">HXORM</property>
<encrypted-property name="odaPassword" encryptionID="base64">MTIzNDU2Nzg5</encrypted-property>
6、不支持的数据库语法

暂时未发现

二、iJEP6.x国产化适配

说明:此章节仅针对以iJEP6.x为基础开发的项目,目前已测试分布式平台
环境准备:

数据库:MySQL5.7 =》 达梦8
Java: JDK1.8、openJDK8
开发工具:IDEA

1.1 、MySQL5.7 迁移达梦8

1.1.1、安装DM8数据库,参考官方安装文档。
1.1.2、DM8新建用户,参考官方文档,给用户DBA权限。
1.1.3、迁移数据,在DM8安装目录tool下有“DM数据迁移工具”,可轻松将Oracle、MySQL、DB2等主流数据库数据迁移到DM库。

2、添加数据库驱动
2.1 将达梦数据库驱动上传到Nexus私服

DmJdbcDriver18.jar :达梦数据库驱动

groupId:com.dm
artifactId:DmJdbcDriver
version: 1.8.0
2.2 在ijep-service-parent下的pom.xml文件中添加如下依赖

在具体的微服务中也需要引入如下依赖

<dependency>
  <groupId>com.dm</groupId>
  <artifactId>DmJdbcDriver</artifactId>
  <version>1.8.0</version>
</dependency>
3、yml配置文件修改
spring:
  datasource:
    driver-class-name: dm.jdbc.driver.DmDriver #达梦数据库驱动
    url: jdbc:dm://localhost:5236/IJEP?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8
    username: IJEP
    password: 123456789
4、Mybatis修改
4.1 JepOrmAutoConfiguration.java 增加DM DBMS驱动名称
@Bean
public DatabaseIdProvider getDatabaseIdProvider()
{
    DatabaseIdProvider dip = new VendorDatabaseIdProvider();
    Properties props = new Properties();
    props.put("DB2", "db2");
    props.put("Oracle", "oracle");
    props.put("MySQL", "mysql");
    props.put("DM DBMS", "mysql");
    dip.setProperties(props);
    return dip;
}

注:DM DBMS 可以采用MySQL适配或者oracle,因为平台同时兼容oracle和MySQL。

5、不支持的数据库语法

自动生成ID:select uuid(); 可使用oracle语法: select sys_guid() from dual ;

相关文章

网友评论

      本文标题:JEP平台国产化适配说明文档

      本文链接:https://www.haomeiwen.com/subject/uepmdktx.html