查出来的数据跟数据库里的数据相差了8个小时,这是为什么呢?

这是因为Mysql 使用系统默认时区,东八区。

而Tomcat java使用UTC时区进行处理业务逻辑。

时区的不同,从而导致Mysql数据库中datetime类型的值查询后转到Java Bean,值多了8个小时。
解决方法:
如果MyBatis连接数据库驱动是serverTimezone=UTC
请把UTC改为Asia/Shanghai
例如:serverTimezone=Asia/Shanghai

更多推荐