Spring boot返回时间与MySql数据库中不相同问题及解决方法
最近做项目测试的发现,访问Url返回的时间与数据库中的不相同,环境是Spring boot+MyBatis+Mysql(阿里云服务器),经过一番折腾,得到了解决
问题描述
我是直接使用IDEA的数据库控制台,往数据库中某个表插入了数据,该表存在着一个字段date,此字段是插入数据的时候由数据库自动赋值,从数据库中的查询语句,时间是正确的,但是,使用了访问Url来进行查询,返回的json数据中的时间就是比数据库中的时间要晚8小时
原因
原因其实很简单,因为spring boot默认使用的jackson来将实体类对象转为json数据,而jackson默认的时区和数据库中的时区不一样,jackson应该用的是美国时区(猜测),所以,jackson将实体类对象转为json数据的时候,把时间调为了美国时区,所以就晚了8小时
解决方法
解决方法很简单,只需要在spring boot中的配置文件配置jackson的时区即可,这里我采用的yml文件进行配置
spring:
jackson:
time-zone: GMT+8