JDBC
spring.datasource.url=jdbc:mysql://${MYSQL_HOST:localhost}:3306/xxxx?sslMode=REQUIRED&characterEncoding=UTF-8&connectionTimeZone=GMT%2B8&forceConnectionTimeZoneToSession=true
- sslMode:设置为REQUIRED表示必须启用ssl加密传输;
- characterEncoding:表示使用utf8mb4方式进行连接;
- connectionTimeZone:设置时区为东八区,如果使用改配置,必须将forceConnectionTimeZoneToSession设置为true。
注意:
东八区时区一般表示为GMT+8
,但是,在jdbc的url中,需要将+
加号转成百分号编码的形式才能正常使用,即%2B
。
测试:
现在时间正是2023-01-29 17:05
左右。
参考:
- 6.3.5 Security
- 15.11: How can I use 4-byte UTF8 (utf8mb4) with Connector/J?
- 6.7 Using Character Sets and Unicode
- 6.3.11 Datetime types processing
- ZoneId
- How to change MySQL timezone in a database connection using Java?
- 百分号编码