Spring boot返回时间与MySql数据库中不相同问题及解决方法
2023-02-18 16:39:11 时间
最近做项目测试的发现,访问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
相关文章
- Shell系列(37)- while和until循环
- Shell系列(36)- for循环语法二简介及批量添加删除用户
- Shell系列(35)- for循环语法一简介及批量解压缩脚本
- Shell系列(34) - 多分支case语句简介及实例
- Shell系列(32)- 双分支if语句判断Apache服务是否启动
- Shell系列(31)- 双分支if语句简介
- Shell系列(30)- 单分支if语句判断分区使用率
- Shell系列(29)- 单分支if语句格式
- Shell条件判断(6)- 多重条件判断
- Shell系列(28)- 条件判断之字符串判断
- Shell系列(27)- 条件判断之两个整数比较
- Shell系列(26)- 条件判断之两个文件比较
- Shell系列(25)- 条件判断之文件权限
- Shell系列(24)- 条件判断之文件类型
- Shell系列(23)- 字符截取命令sed
- Shell系列(22)- 字符截取命令awk
- Shell系列(21)- 字符截取命令printf
- Shell系列(20)- 字符截取命令cut
- Shell系列(19)- 正则表达式
- Shell系列(18)- 什么是正则表达式