Apache ServiceComb集成MyBatis使用GaussDB开源初体验
一、开源软件功能介绍
Apache ServiceComb是一个实现Open API规范的RPC框架,提供了配置管理、服务发现、动态路由、可观察性和服务治理功能。
本次任务的目标是基于 Apache ServiceComb 集成 MyBatis 和 GaussDB,实现微服务中数据库的增、删、改、查功能,并熟悉在华为云上的部署流程。
二、开发适配过程及解决的问题
本次任务主要分为以下几个阶段:
- 准备阶段
根据 开源for Huawei Wiki 的指导:
配置开发环境,安装必要的依赖(如 JDK、Maven)。
克隆官方提供的示例项目,熟悉项目结构和现有功能。
配置鲲鹏服务器及 Euler 操作系统环境,确保开发环境和目标环境一致。
- 集成 MyBatis 和GaussDB并开发功能
关键步骤:
引入依赖
在 resource-server 的 pom.xml 中添加 MyBatis 相关依赖:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>3.0.4</version>
</dependency>
<dependency>
<groupId>org.opengauss</groupId>
<artifactId>opengauss-jdbc</artifactId>
</dependency>
配置数据库连接
在 application.yml 中配置 GaussDB 数据库信息:
yaml
spring:
datasource:
url: jdbc:opengauss://127.0.0.1:5432/postgres?currentSchema=class
username: root
password: root
driver-class-name: org.opengauss.Driver
# MyBatis配置
mybatis:
# 搜索指定包别名
typeAliasesPackage: org.apache.servicecomb.fence.api.resource
# 配置mapper的扫描,找到所有的mapper.xml映射文件
mapperLocations: classpath*:mapper/*Mapper.xml
- 开发数据访问层
编写 MyBatis 映射文件(如 UserMapper.xml),并实现增、改、查操作
- 开发 REST 接口
编写Service接口并实现增、改、查操作
- 在华为云基于CCE容器完成环境搭建
购买资源:在华为云购买鲲鹏云服务器,选择 Euler 操作系统。
配置容器化部署:根据 Wiki 中的指南,将 resource-server 制作成 Docker 镜像,并推送到华为云 SWR(云容器镜像服务)。
部署到CCE(容器引擎):在 CCE 中创建 Deployment 和 Service,将服务暴露到公网。
- 接口测试
通过浏览器访问 http://<公网IP>:9090/ui/admin/,使用 Swagger 接口测试功能,验证增、改、查功能是否正常。
三、心得体会
通过本次任务,我对华为的开源生态有了更深的理解,特别是:
- GaussDB:华为自研数据库的兼容性和性能非常优秀,特别是与 MyBatis 的适配体验良好。
- 鲲鹏云:运行环境稳定,能够快速完成云原生应用的开发和部署。
- 开源社区:同时也更深刻理解了开源项目贡献的意义。
- 点赞
- 收藏
- 关注作者
评论(0)