Apache ServiceComb集成MyBatis使用GaussDB开源验证任务心得
背景介绍
ServiceComb 是一个开源的微服务框架,它提供了一系列的工具和组件,帮助开发者高效地构建、运行和管理微服务架构的应用程序。其主要目的是解决微服务开发过程中的诸多挑战,如服务治理、通信协议、配置管理等。
MyBatis 是一款优秀的持久层框架,它在 Java 应用程序开发中扮演着至关重要的角色。持久层主要负责将应用程序的数据持久化到数据库中,以及从数据库中读取数据。MyBatis 简化了这个过程,使得开发人员可以更方便地与数据库进行交互。
开源for Huawei(https://developer.huaweicloud.com/programs/opensource/contributing/)通过和公司、高校、社区的开发者合作,完成鲲鹏、昇腾、欧拉、鸿蒙、高斯、云服务等与开源软件的适配开发,帮助繁荣Huawei的基础生态,同时让开源软件能够更加简单、高效的运行于华为云上。领取任务后可以申请做任务所需资源的购买券,现在最多可以申请6万元的券。
开发过程
Apache ServiceComb集成MyBatis使用GaussDB开源体验任务是一个比较简单的任务。
首先访问验证任务的代码仓库https://gitcode.com/HuaweiCloudDeveloper/OpenSourceForHuaweiDemoJava/overview,Fork代码到个人仓库,然后使用Git把代码clone到本地,然后安装JDK17和Maven3.8.4,使用mvn clean install就能编译成功。
然后就是安装zookeeper和GaussDB。使用申请的券购买GaussDB、CCE、ECS、ELB等资源,注意ECS要买鲲鹏架构的,操作系统要用Euler,这是任务要求。然后使用CCE部署zookeeper,配置service方便其它服务访问:
GaussDB部署好后就可以执行authentication-server的数据库初始化脚本。注意,要先创建数据库,再创建Schema,访问时要同时指定数据库和Schema。
功能实现也比较简单。首先在resource-server中增加mybatis和gaussdb的依赖:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.opengauss</groupId>
<artifactId>opengauss-jdbc</artifactId>
</dependency>
在application.yml增加数据库配置:
spring:
datasource:
url: ${DB_URL:jdbc:opengauss://192.168.0.20:8000/test?currentSchema=resource_server_db}
username: ${DB_USERNAME:root}
password: ${DB_PASSWORD:123456}
driver-class-name: ${DB_DRIVER:org.opengauss.Driver}
然后在数据库中为resource_server创建一个新的Schema:resource_server_db,再创建一张表,
写几个REST接口通过mybatis实现数据表的增删改查。
部署过程
然后就是把写好的代码使用华为云CCE部署在华为云上。
因为要部署到鲲鹏服务器上,所以需要把代码传到鲲鹏服务上重新构建。
先到鲲鹏社区下载毕昇JDK:https://www.hikunpeng.com/zh/developer/devkit/download/jdk,同时可以在鲲鹏社区毕昇JDK和MAVEN的安装方法。
使用CCE部署需要生成docker镜像,在CCE上添加鲲鹏服务器作为工作节点,使用这个工作节点就可以制作出可以跑在鲲鹏服务器上的镜像。
然后把镜像上传到SWR,然后就可以使用CCE部署服务了。
部署好后就是接口验证,注意要填写消息头:content-type。
总结
本任务是一个JAVA验证项目,通过该任务可以证明mybatis使用 openGauss 的 JDBC 驱动, 是可以接入 GaussDB的。不同的数据库虽然有些差异,但差异都很小。像做这个任务时,本地调试我用的就是mysql,上华为云时才切成GaussDB,切换过程很简单,修改环境变量即可:
- 点赞
- 收藏
- 关注作者
评论(0)