原代码
spring
datasource:
url: jdbc:mysql://localhost:3306/test?characterEncoding=utf8
插入后数据库的时间:2020-05-05 23:10:37
优化后插入数据库的时间:2020-05-05 12:10:37(当前时间)
更改后示例
spring
datasource:
url: jdbc:mysql://localhost:3306/test?characterEncoding=utf8&serverTimezone=GMT%2b8
只需要在yml配置文件数据源配置中url后添加serverTimezone=GMT%2b8即可
而当向前端返回时间时再次出现时间错误问题,那么只需要在实体类的时间字段加上@JsonFormat,并在配置文件中新增配置,如下:
@JsonFormat
/* 时间字段 */
private Date createTime;
spring:
jackson:
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss
或者只加上以下注解,效果与上述相同:
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
/* 时间字段 */
private Date createTime;