为 MySQL 配置 Spring Boot

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡/ 赠书活动

目前,正在 星球 内带小伙伴们做第一个项目:全栈前后端分离博客项目,采用技术栈 Spring Boot + Mybatis Plus + Vue 3.x + Vite 4手把手,前端 + 后端全栈开发,从 0 到 1 讲解每个功能点开发步骤,1v1 答疑,陪伴式直到项目上线,目前已更新了 204 小节,累计 32w+ 字,讲解图:1416 张,还在持续爆肝中,后续还会上新更多项目,目标是将 Java 领域典型的项目都整上,如秒杀系统、在线商城、IM 即时通讯、权限管理等等,已有 870+ 小伙伴加入,欢迎点击围观

开箱即用,Spring Boot 非常易于与 H2 数据库 一起使用。如果在类路径中找到 H2 数据库,Spring Boot 将自动在内存中设置一个 H2 数据库供您使用。但是如果你想使用 MySQL 怎么办?当然,Spring Boot 支持 MySQL 和许多其他流行的关系数据库。

之前,我写过关于 使用 Spring Boot 创建 Web 应用程序的 文章。假设我们要将此应用程序部署到生产环境中,并且我们决定使用 MySQL 作为数据库。将 Spring Boot 从 H2 更改为 MySQL 很容易。

MySQL配置

对于这个例子,我使用的是在我的 MacBook Pro 上本地安装的 MySQL。您需要定义一个数据库供您使用。对于这个例子,我想创建一个数据库供我使用。使用命令提示符,您可以使用以下命令登录 MySQL:


 mysql -u root

使用以下命令创建数据库。


 mysql -u root

如果你想使用一个新的数据库,你只需要使用这些命令。 MySQL 是一个非常健壮的数据库。 MySQL 的全部功能超出了本教程的范围。

MySQL 依赖项

首先,我们需要将 MySQL 数据库驱动程序添加到我们的项目中。您需要将以下依赖项添加到您的 Maven POM 文件中。

POM文件


 mysql -u root

弹簧启动属性

我们需要覆盖 Spring Boot 中默认设置的 H2 数据库属性。好的部分是,Spring Boot 仅在您不设置时设置默认数据库属性。所以,我们在配置MySQL的时候使用。 Spring Boot 不再设置 H2 数据库。

使用 Spring Boot 配置 MySQL 需要以下属性。您可以看到这些是非常标准的 Java 数据源属性。因为在我的示例项目中,我也在使用 JPA,所以我们也需要为 MySQL 配置 Hibernate。


 mysql -u root

注意 :如果这实际上是一个生产数据库,则不要告诉 Hibernate 使用 create-drop 选项。这告诉 Hibernate 在启动时重新创建数据库。绝对不是我们想要的行为。您可以将此属性设置为以下值:none、validate、update、create-drop。如果这实际上是一个生产数据库,您可能希望使用验证。

使用 MySQL 运行 Spring Boot

这就是在 Spring Boot 中使用 MySQL 需要更改的全部内容。现在启动项目时,Spring Boot 应用程序将使用 MySQL 作为数据库。

获取源代码

这篇文章的源代码可以在 GitHub 找到。您可以下载源代码并使用 Maven 构建项目。