在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中编写时区设置。