Spring Cloud微服务项目集成MySQL

在现代微服务架构中,数据持久化是至关重要的一环。Spring Cloud 是一个广泛使用的微服务框架,它提供了一整套解决方案来简化微服务的开发和管理。而MySQL 作为一个开源的关系型数据库系统,在微服务项目中也发挥着重要作用。本文博主将介绍如何在Spring Cloud 微服务项目中集成MySQL,以便实现高效的数据存取和管理。

1.创建Spring-Boot微服务项目

在本文中,博主已经创建了一个Spring-Boot微服务项目,Spring-Boot微服务项目搭建,请参考Spring Cloud微服务项目搭建

2.引入MySQL依赖

在 user 模块的 pom.xml 文件中添加如下的 MySQL依赖:

XML 复制代码
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.33</version>
</dependency>

3.引入阿里巴巴的数据库连接池依赖

在 user 模块的 pom.xml 文件中添加如下的 Druid依赖:

XML 复制代码
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.2.9</version>
</dependency>

在项目中使用 Druid,可以帮助你更好地管理和优化数据库连接,提高应用的整体性能和稳定性。

4.配置MySQL数据库

在**application.yml** 或**application.properties**中配置MySQL数据库连接信息:

bash 复制代码
# 运行端口号
server:
  port: 8001

spring:
  application:
    name: user-service  # 服务名
  datasource:
    url: jdbc:mysql://${host}:3306/database?useSSL=false&serverTimezone=UTC&characterEncoding=UTF-8&allowPublicKeyRetrieval=true
    username: username
    password: password
    driver-class-name: com.mysql.cj.jdbc.Driver  # 数据库连接池
    type: com.alibaba.druid.pool.DruidDataSource

5.创建实体类

在Spring Boot应用中可以通过JPA实体类来映射数据表:

java 复制代码
/**
 * 用户信息实体类
 */
@Data
public class UserInfoModel {

    private String userId;

    private String userName;

    private String userPassword;

    private String userPhone;

    private String userEmail;
}

这里博主使用了 Lombok 工具自动生成 Getter/SettertoString 方法,在父级 pom.xml 或者user 模块的pom.xml 引入Lombok依赖:

XML 复制代码
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
</dependency>
相关推荐
哈里谢顿6 小时前
MySQL 索引失效的 12 宗罪:一条 SQL 是怎样把索引踢出执行计划的?
mysql
laocooon5238578867 小时前
mysql,100个题目。
数据库·sql·mysql
盖世英雄酱581367 小时前
Java 组长年终总结:靠 AI 提效 50%,25 年搞副业只赚 4k?
后端·程序员·trae
funfan05178 小时前
【运维】MySQL数据库全量备份与恢复实战指南:从入门到精通
运维·数据库·mysql
+VX:Fegn08958 小时前
计算机毕业设计|基于springboot + vue在线音乐播放系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
code bean8 小时前
Flask图片服务在不同网络接口下的路径解析问题及解决方案
后端·python·flask
+VX:Fegn08958 小时前
计算机毕业设计|基于springboot + vue律师咨询系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·课程设计
努力的小郑8 小时前
2025年度总结:当我在 Cursor 里敲下 Tab 的那一刻,我知道时代变了
前端·后端·ai编程
液态不合群9 小时前
【面试题】MySQL 三层 B+ 树能存多少数据?
java·数据库·mysql
JAVA+C语言10 小时前
MySQL 9.0 最新版本从安装到使用
mysql