在SpringBoot中配置连接到DockerHub上的MySQL

以下是截至2021年7月7日的信息。

首先

我在尝试在本地使用Docker Hub上的mysql进行集成测试时遇到了困难。

环境

■ 春季引导

Windows10:Windows操作系统的第十个主要版本。
Spring Boot v2.3.5.RELEASE:Spring Boot框架的第2.3.5版本。
mysql-connector-java 8.0.22:MySQL数据库连接Java驱动的8.0.22版本。

MySQL、Ubuntu 20.04、Docker v20.10.7、Docker Hub MySQL 8.0.25。

结论

如果这样做,就会联系上了。

# local docker setting
  datasource:
    url: jdbc:mysql://localhost:3306/test_todo?useLegacyDatetimeCode=false&serverTimezone=Asia/Tokyo
    driverClassName: com.mysql.cj.jdbc.Driver
    username: <ユーザー名>
    password: <パスワード>

好像需要设置时区。

确认要点

MySQL-Connector-Java的版本会有所不同。

    • Spring Bootとの相性

 

    Spring Bootの設定ファイル(application.yml)の書き方

不一样。

    Spring Boot(gradle)との相性

使用Gradle来管理库时,默认为mysql-connector-java 8.0.22。

将mysql-connector-java 8.0.25更改后,出现了”java.time.LocalDateTime无法转换为java.sql.Timestamp”的错误,导致Spring Boot无法启动。(尽管编译正常,可能是与mysql-connector-java 8.0.25不兼容的原因…)

    Spring Bootの設定ファイル(application.yml)の書き方

及以后的版本无需在application.yml中编写时区设置。

广告
将在 10 秒后关闭
bannerAds