Mybatis plus适配华为云&Gaussdb

举报
yd_243587097 发表于 2024/11/04 14:55:52 2024/11/04
【摘要】 前一阵,适配了Mybatis(https://bbs.huaweicloud.com/blogs/437134),发现还有一个Mybatis plus,那不是手拿把掐吗。继续完成Mybatis plus适配华为云的任务。任务的目的因为华为云采用了自己的cpu指令集和操作系统,所以可能有些软件不适配。所以诞生了此次任务。我领取的任务就是新建一个使用mybatis的项目,在华为云上部署,看看适配...

前一阵,适配了Mybatis(https://bbs.huaweicloud.com/blogs/437134),发现还有一个Mybatis plus,那不是手拿把掐吗。继续完成Mybatis plus适配华为云的任务。

任务的目的

因为华为云采用了自己的cpu指令集和操作系统,所以可能有些软件不适配。所以诞生了此次任务。我领取的任务就是新建一个使用mybatis的项目,在华为云上部署,看看适配能够正常运行。

报名流程

  1. 在喜欢的任务上进行报名,填写自己的申请,留下自己的邮箱,之后华为官方会发送任务计划书到邮箱内。
  2. 开通开发者空间,进行实名认证,加入沃土云创计划个人方向。
  3. 进入激励管理》开源共创,进入任务,此时在需求分析节点,提交之前发送到邮箱内的任务计划书。
  4. 提交任务计划书之后,审批后进入开发阶段,阅读任务计划书,了解需要开发的内容。
  5. 此时需要申领服务器,主要是Gaussdb,华为云CCE(类似k8s),CodeArts(ci/cd)。
  6. 开发完整之后,在CCE上进行验证,在CodeArts上进行部署。
  7. 测试完成后,可以申请任务验收。将自己的代码分支博文等信息打包成zip文件进行上传。
  8. 后面就是等发钱啦。

开发代码

  • 华为云提供了官方demo(https://gitcode.com/HuaweiCloudDeveloper/servicecomb-fence/overview),首先在自己的账号下fork仓库,并在master上建立新分支。
  • 建立一个Student的类和表如下,根据demo中的规范,添加一个restful接口。
public class Student {

    private Long id;

    private Integer age;

    private String name;

    private Long classId;
}
  • 本地测试,拉取表中的id为1的数据,测试成功。
  • 我的项目https://gitcode.com/wsm921225/servicecomb-fence-mybatis/overview,分支wsm_mybatis_plus

冲突解决

因为demo的日志框架和Mybatis plus的starter有冲突,所以需要排除一下,代码如下:

<dependency>
  <groupId>com.baomidou</groupId>
  <artifactId>mybatis-plus-spring-boot3-starter</artifactId>
  <version>3.5.9</version>
  <exclusions>
    <exclusion>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-to-slf4j</artifactId>
    </exclusion>
    <exclusion>
      <artifactId>spring-boot-starter-logging</artifactId>
      <groupId>org.springframework.boot</groupId>
    </exclusion>
  </exclusions>
</dependency>

上云第一步-购买Gaussdb

  • 在华为云官网,点击产品,输入Gaussdb,选择Gaussdb,选择云数据库GaussDB,点击购买

  • 选择以下选项,进行提交

计费模式:按需
区域:广州(选离自己最近的城市)
实例名称:guass-test  (随便写,好记就行)
实例类型:集中式
虚拟私有云:默认(也可以自己新建,报名后面cce和guassdb使用一个虚拟私有云
数据库端口:(随便填)
管理员密码:(随便填)
其他选项默认

上云第二步-购买CCE

在华为云官网,点击产品,输入cce,选择cce,点击购买。

  • 执行以下步骤,进行提交

页面顶部控制栏,选择地区,也就是上云第一步购买Gaussdb的地区
集群类型:cce turbo
计费模式:按需付费
集群名称:(随便写)
集群版本:v1.29
集群规模:50
集群 master 实例数:单实例
虚拟私有云:默认(购买Gaussdb使用的虚拟私有云,必须保持一致,否则访问数据库不通)
容器子网(Pod CIDR):默认(购买Gaussdb使用的虚拟子网,必须保持一致,否则访问数据库不通)
其他默认,点击提交。进入插件选择页面。
保持默认插件,点击插件配置,点击确认配置,点击提交。

新建节点

在左侧找到节点池,新建节点。注意这里使用的cpu,内存等都需要更大一点,否则cce的集群会启动失败

配置CodeArts

根据华为云提供的文档(https://gitcode.com/HuaweiCloudDeveloper/OpenSourceForHuaweiWiki/blob/main/zh_CN/docs/cicd-pipeline.md),配置CodeArts。

注意点:

在选择通用git时,没有扩展点,需要新建扩展点(添加代码的git路径和分支)

demo项目没有Dockerfile,需要自己编写Dockerfile,我的如下,基本可以复用

# 使用 OpenJDK 作为基础镜像
FROM openjdk:17-jdk-alpine

# 设置工作目录
WORKDIR /app

# 将应用的 jar 文件复制到容器中
COPY resource-server/target/resource-server-0.0.1-SNAPSHOT.jar /app/app.jar

# 暴露应用运行的端口
EXPOSE 9092

# 运行 Spring Boot 应用
ENTRYPOINT ["java", "-jar", "app.jar"]

成果访问

访问 http://cce网关公网ip/ui/admin/  点击登录按钮后,页面显示如下

访问http://cce网关公网ip/ui/admin/student.html,点击查询,显示数据如下

自此,成功完成Mybatis plus对接华为云的任务。

最后

提交pr到源仓库地址就行啦

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。