构建基于 Spring Boot 的 GaussDB 数据访问应用:数据的增删改查

一、概述
1. 案例介绍
GaussDB 是华为自研的企业级分布式关系型数据库,具备强大的分布式事务能力、同城多可用区部署、数据零丢失保障、PB 级存储扩展等特性。它支持高可用、高安全、弹性伸缩、一键部署、备份恢复和监控告警,适用于对性能、可靠性和扩展性有高要求的企业级应用场景。
通过实际操作,让大家快速掌握通过 Web 应用访问华为自研的 GaussDB 数据库,搭建自己的数据库应用。最终通过 API 访问的方式,对 GaussDB 数据库进行增删改查。
2. 适用对象
企业
个人开发者
高校学生
3. 案例时间
本案例总时长预计 90 分钟。
4. 案例流程

说明:
开发者免费领取 GaussDB 数据库;
绑定弹性公网 IP 并登录数据库;
创建 Spring Boot 项目并编写业务代码;
连接 GaussDB 数据库,通过 API 方式访问数据库。
5. 资源总览
本案例预计花费 1 元。

详细案例操作请阅读👉️👉️👉️构建基于 SpringBoot 的 GaussDB 数据访问应用:数据的增删改查
二、免费领取 GaussDB 在线使用版
1. 开发者空间配置
面向广大开发者群体,华为开发者空间提供一个随时访问的“开发桌面云主机”、丰富的“预配置工具集合”和灵活使用的“场景化资源池”,开发者开箱即用,快速体验华为根技术和资源。
如果还没有领取开发者空间云主机,可以参考免费领取云主机文档领取。
领取云主机后可以直接进入华为开发者空间工作台界面,点击打开云主机 > 进入桌面连接云主机。


2. 领取 GaussDB 数据库
打开火狐浏览器:

浏览器输入网址:https://developer.huaweicloud.com/signup/75dae31d0eb04cdcab822c76d35eb9a1

点击立即报名,开发者完成报名且通过审核后,可前往开发者空间免费领取 GaussDB 实例,共 1000 个名额,先到先得。

报名成功且通过审核后,进入开发者空间工作台,有以下弹窗:

点击立即开通:

开通云数据库 GaussDB,需要创建虚拟私有云,点击控制台:

创建虚拟私有云:

点击立即创建,再点击确定:

创建成功:

再次回到开通数据库界面,选择刚创建的虚拟私有云,输入管理员密码,确认密码:

点击开通后,点击立即前往:

数据库实例创建中:

数据库备份中:

数据库实例创建成功:

3. 绑定弹性公网 IP
点击数据库实例名称:

进入云数据库 GaussDB 的基本信息界面:

点击绑定弹性公网 IP:

点击查看弹性公网 IP:

点击购买弹性公网 IP:

选择按需计费:

点击立即购买,勾选《弹性公网 IP 服务声明》,点击提交按钮,购买成功后的截图如下:

回到数据库基本信息界面,再次点击绑定公网 IP:

点击确定按钮:

绑定成功:

4. 登录数据库
回到云数据库控制台,登录数据库:

点击登录,再点击同意并继续:

输入密码,点击测试连接:

登录成功后,点击新建数据库:

输入数据库名称,指定兼容类型:

点击确定按钮,数据库创建成功:

点击 SQL 查询:

Schema 选择 public,执行以下 SQL 语句,创建表:

创建表成功:

三、构建 SpringBoot 项目,连接 GaussDB
1. 创建 SringBoot 项目
打开开发工具 IntelliJ IDEA,创建 SpringBoot 项目:
注意:IntelliJ IDEA 的下载、安装配置,请开发者自行完成。
点击 File->New Project,选择 Spring Boot,输入项目名称、选择 Java 语言、构建类型选择 Maven、JDK 版本选择 24:

点击 Next:

勾选 Dependencies:Spring Boot DevTools 和 Spring Web:

点击 Create,创建项目:

等待项目构建完成,点击右上角运行按钮,运行项目:

2. 连接 GaussDB 数据库
在 pom.xml 中 dependencies 节点下添加数据库相关依赖:
添加依赖后,点击 Maven->Reload All Maven Projects,同步工程:

在 application.properties 文件中,添加 GaussDB 数据库配置:
注意:spring.datasource.url 中的 x.x.x.x,替换成数据库弹性公网 IP 地址;spring.datasource.username 中的 xxxx,替换成数据库用户名;spring.datasource.password 中的 xxxx,替换成数据库登录密码。替换完成后,再次同步工程。
点击数据图标:

点击“+”图标,选择 PostgreSQL:

输入 Host、Port、User、Password、URL:

点击 Test Connection:

数据库连接成功。
问题 1:尝试连接已失败。

解决方案:
点击安全组:

点击入方向规则,添加以下规则:

问题 2: Invalid or unsupported by client SCRAM mechanisms。
解决方案:点击链接,回到数据参数管理界面:https://console.huaweicloud.com/gaussdb/?agencyId=675e761ca42b46cf96050bedc4d5868c®ion=cn-south-1&locale=zh-cn#/gaussdb/management/paramTab/8e54d7dc50424d78b28982f9c2359e28in14
点击高风险参数,输入 password_encryption_type 搜索,将 password_encryption_type 的值改为 1 并保存。

回到数据库基本信息界面,点击重置密码:

注意:重置密码后,要重新登录数据库实例并在开发工具中重新配置密码。
问题 3:重置密码后,登录报错:账号被锁定。

解决方案:点击链接,回到数据参数管理界面:https://console.huaweicloud.com/gaussdb/?agencyId=675e761ca42b46cf96050bedc4d5868c®ion=cn-south-1&locale=zh-cn#/gaussdb/management/paramTab/8e54d7dc50424d78b28982f9c2359e28in14
点击高风险参数,输入 password_lock_time 搜索,将 password_lock_time 的值改为 0 并保存。

输入 failed_login_attempts 搜索,将 failed_login_attempts 的值改为 0 并保存。

即可重新登录。
四、SpringBoot 项目代码开发
本次开发,采用分层架构来组织代码,分层架构是保证代码可维护性、可扩展性和可测试性的关键。
1. Controller 层(表示层)
职责:处理 HTTP 请求和响应,路由请求到业务逻辑层。
注解:@RestController, @Controller, @RequestMapping, @GetMapping 等。
关键点:
接收请求参数(路径参数、查询参数、请求体)。
调用 Service 层处理业务逻辑。
返回响应(JSON/XML)或视图(如 Thymeleaf)。
完整代码:
2. Service 层(业务逻辑层)
职责:封装核心业务逻辑,处理事务管理。
注解:@Service, @Transactional。
关键点:
实现业务规则(如校验、计算、流程控制)。
调用 Repository 层操作数据。
使用 @Transactional 管理数据库事务。
完整代码:
3. Repository / DAO 层(数据访问层)
职责:直接与数据库交互,执行 CRUD 操作。
注解:@Repository(可选,Spring 会自动扫描 JPA 接口)。
关键点:
使用 Spring Data JPA、MyBatis 等持久化框架。
定义数据库查询方法(如 findById(), save())。
完整代码:
4. Model 层(实体层)
职责:映射数据库表结构,定义数据模型。
注解:@Entity, @Table, @Id, @Column 等。
关键点:
使用 JPA 注解描述表字段关系。
不应包含业务逻辑。
完整代码:
五、本地部署 Spring Boot 项目并验证
1. 运行部署项目
点击右上角运行按钮,运行项目:

2. 验证项目
谷歌浏览器安装 Talend API Tester 插件:

添加用户:
使用 post 请求,向数据库中添加用户:http://localhost:8000/api/users

点击 Send 按钮:

接口返回成功!
再添加 2 个用户:
查询用户:
使用 get 请求,查询所有用户:http://localhost:8000/api/users

点击 Send 按钮,接口返回所有的用户:

SQL 查询验证:
登录 GaussDB 数据库,点击 SOL 查询:

执行 SQL 查询语句,查询数据表中的数据:

添加用户和查询用户的功能已经完成,开发者可以在此基础上增加查询用户和删除用户的功能。
六、释放资源
1. 删除虚拟私有云 VPC
进入虚拟私有云控制台,点击全选按钮,点击“删除”,会弹出关联资源列表的对话框,删除子网和弹性公网 IP
2. 删除弹性公网 IP EIP
进入弹性公网 IP 控制台,首先解绑弹性公网 IP,然后删除。
3. 删除 GaussDB 数据库实例
进入 GaussDB 控制台,点击“更多 -> 删除实例”。

注意:删除的实例会被移至回收站,但达到回收站策略设置的天数后,该实例会被永久删除,请谨慎操作。
至此,构建基于 Spring Boot 的 GuassDB 数据访问应用:数据的增删改查案例已全部完成。
七、反馈改进建议
如您在案例实操过程中遇到问题或有改进建议,可以到论坛帖评论区反馈即可,我们会及时响应处理,谢谢!
评论