暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

「瀚高数据库技术栈」瀚高应用移植流程

瀚高数据库 2022-09-01
4606












01. 前言及优势介绍





PART 1.1 

前言





当客户需求发生改变,应用系统需要从原来的数据库如MySQL或者Oracle切换到瀚高数据库上。


如果对瀚高数据库不太熟悉,就容易在配置参数时忽视掉一些细节上的东西,造成应用系统一直报错不能使用。


所以本文会以在Oracle数据库上运行的java应用程序为例,详细介绍如何把java应用移植到瀚高数据库上。



PART 1.2 

瀚高数据库在应用移植上的优势





1、针对应用方面瀚高数据库与常见的异源数据库做了大量的兼容,以Oracle数据库为例,兼容了几乎所有的数据类型(varchar2、clob等等、语法(start with的递归语法、merge into语法等等、原生函数(sysdate、listagg等等和系统表。


2、针对数据迁移方面,瀚高数据库也有专门的迁移工具来应对。按要求把操作系统配置好后,迁移工具就可以自动的、快速的、完整的完成对数据的迁移。



接下来就是完整的适配流程以及连接瀚高数据库必要的配置了。





02. 瀚高数据库安装



(版本:Windows企业版6.0.4)

1、双击安装包,进入如下页面:

2、选择安装路径:


3、设置用户密码:



4、点击下一步,再点击开始安装:


5、提示安装成功之后,之后按下图配置环境变量,最后在服务里面启动瀚高数据库服务就可以使用了































03. 数据迁移





PART 3.1 

数据迁移说明





应用在瀚高数据库上进行测试需要数据支持,因此瀚高数据库安装完成之后,就要进行数据的迁移;不同数据库之间的数据迁移可以使用瀚高数据库专门的迁移工具来完成。



PART 3.2 

具体迁移步骤





1、双击迁移工具,会进入如下界面:



2、这一步是获取源库(Oracle数据库)与目标库(瀚高数据库)的连接



3、两边连通之后,迁移工具会自动读取源库(oracle)的信息和多种的迁移方式呈现在如下页面上:



4、选择好要迁移的对象和迁移方式,就可以正式迁移



(PS:迁移速度约为100GB每小时)





04. java应用连接瀚高数据库





PART 4.1 

瀚高数据库驱动包





连接瀚高数据库需要专门的驱动包,可以从瀚高官网(https://highgo.com/)获取,在获取时请注意瀚高数据库驱动包分为三个版本,分别对应JDK6、JDK7、JDK8及以上。使用时请根据实际JDK版本选择匹配的驱动包。



PART 4.2 

java连接瀚高数据库demo





获取瀚高jar包后,可以通过下面一个demo来连通瀚高数据库;


驱动类:com.highgo.jdbc.Driver

连接字符串:jdbc:highgo://localhost:5866/数据库名","用户名","密码"。


import java.sql.*;

public class highgo {
public static void main(String[] args) {
try{
//加载HighGo DB的驱动
Class.forName("com.highgo.jdbc.Driver");
Connection ct=DriverManager.getConnection("jdbc:highgo://localhost:5866/highgo","highgo","Hello@123");
Statement sm=ct.createStatement();
//执行查询语句
String sql="select * from test";
ResultSet rs=sm.executeQuery(sql);
//循环结果,并打印
while(rs.next()){
System.out.println("id="+rs.getInt(1)+"name="+rs.getString(2));
}
//抛出异常
}catch (Exception e){
e.printStackTrace();
}}}


在实际项目中,应用一般都不是通过JDBC直连数据库的,所以接下来会说明如何在实际项目中引入瀚高驱动包。



PART 4.3 

maven项目导入瀚高驱动





这里以最常见的maven为例:会一步一步详细的说明如何引入瀚高驱动包。




4.3.1. 将瀚高jdbc驱动包放到maven仓库中


执行命令:


    mvn install:install-file -Dfile=D:\hgjdbc-6.2.0.jar -DgroupId=highgo -DartifactId=highgo -Dversion=hgjdbc-6.2.0 -Dpackaging=jar


    执行之后会显示:



    绿色字体BULID SUCCESS就意味着导入成功;


    成功之后它会在自己的本地maven仓库中生成配置信息:



    我们可以打开pom文件看下配置信息;



    这样就把瀚高驱动包导入了maven仓库,接下来只需要在项目中引入就行。





    4.3.2. 瀚高jdbc驱动包通过maven引入java项目


    在项目中的pom.xml中添加一个依赖:



    之后就可以用上面的demo测试一下是否引入成功



    PART 4.4 

    连接池的配置





    项目引入瀚高驱动包后,因一般项目大多都是通过连接池来连接数据库的,所以接下来讲的就是连接池的配置。


    瀚高数据库与常见的连接池如c3p0、druid等和一些中间件如tomcat、中创中间件、东方通中间件、金蝶中间件等自带的连接池都是完成适配了的,所以只需要把连接池上的驱动类和连接字符串改一下就能实现与瀚高数据库的连通;这里要特别注意的是druid连接池,再改完上述参数后还需要进行下一步的配置,在项目中找到application.yml配置文件,增加db-type其值指定为postgresql,否则会报dbType not support错误。




    PART 4.5 

    框架配置





    把连接池配置好之后,一般就可以进行下一步的测试了;但如果使用了hibernate框架或者使用mybatisplus框架的分页插件,因为涉及到方言等原因则还需要对配置文件和配置类进行调整。


    如使用ssh框架,则需要找到applicationContext.xml文件把Hibernate的方言修改为:


      hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect



      如使用ssm框架mybatisplus的分页插件PaginationInterceptor,则需要找下如下的配置类进行配置:


      MyBatis-Plus2.x引用的包:

      com.baomidou.mybatisplus.plugins.PaginationInterceptor



      MyBatis-Plus3.x引用包:

      com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;


      Mybatis-plus3.4.0使用MybatisPlusInterceptor拦截。






      05. 测试





      完成以上的步骤,启动应用程序不报错而且可以正常进入登录页面就标志着java应用已经连通瀚高数据库了。接下来就可以进行功能上的测试,因为功能测试主要就是对不兼容SQL的修改,所以在测试之前需要打开兼容模式,如果是Oracle数据库就打开Oracle兼容模式:


        alter system set compatible_db = ‘oracle’;


        这样Oracle数据库的语法与函数都能在瀚高数据库直接执行,这样不用做大的修改就能实现应用的平稳移植。


        以上就是对完整的java应用移植流程,跟着步骤走一遍,应用就能运行在瀚高数据库上了,大家快试试吧。



        文章转载自瀚高数据库,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

        评论