mybatis mysql的时区问题解决

现象:代码中查询语句 查询出来的时间与表中的时间对应不上,插入时为new date() 到表中的时间却是毫无规则

问题出现原因:装mysql的时候时区不固定

解决方法:从数据库读取到java,指定我们所需要的时区,只需要在配置文件的mysql链接的时候指定自己所需的文件datasource.jdbcUrl=jdbc:mysql://xxx.xx.xx.xx:3306/bms?characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai

如果查询出来的时间是Tz格式的国际时间有时候是 000 我们当前是东八区 所以时间上要后延8小时

引入JsonFormat注解,指定时区 

@JsonFormat(pattern = ApplicationConstants.DATE_FORMAT,timezone="GMT+8")

同时也可以在配置文件中 指定时间的输出格式:

spring:
   jackson:
     date-format: yyyy-MM-dd HH:mm:ss

 

 

你可能感兴趣的:(java,mysql)