今天迁移服务的时候又踩了一个坑
一个接口在查询数据库的时候报了查不到数据的错误
但是使用同一个 service
的另一个接口在查询的时候却没有问题
于是开启 mybatis
的 debug
模式查看报错接口的 sql
语句
连同参数一起放到数据库中执行,还是查得到数据
百思不得其解
查看一下 mysql
连接的配置参数,确认连接时使用 serverTimezone=Asia/Shanghai
指定了时区
查看了另一个接口的 sql
语句,这才发现了问题所在
时间戳转换后比正常的慢了12个小时,那么就基本确认是时区的问题了
那么接下来就是解决问题了
在项目入口的 main
方法中加入 TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"))
再测试一下
修改后:
修改前: