java 使用mybatis查询出现的时区问题
1. 问题场景:使用LocalDateTime,mybatis查出来的时间比数据库表里存的时间快了13个小时。
如图:图一是表里存的时间数据,图二是debug时查出来的时间数据,快了13个小时
2. 找到原因:这是时区问题,mysql时区设置默认是操作系统时区 而mybatis中间使用Calender做类型转换,为CST时区
3. 解决办法:两种 1> 修改数据库系统配置
2> 修改java配置文件中连接数据库的url,添加 --> serverTimezone=GMT%2B8
由于该数据库好多个项目在用 为了避免给别人使用造成干扰 我选择了第二种 加上就好了~~~