开箱即用,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 构建项目。