jdbcTemplate 返回的日期 自动加了1

新手上路,请多包涵

1.我用的spring boot2.0,jdbcTemplate查询数据库的时候,日期值都加了1,不知道是为什么?
数据库是mysql5.7,以下是我的代码部分:

String sql = "select * from v_item_data_last t where t.index_type_id=? order by t.index_order asc,t.target_order asc";
List<Map<String, Object>> data_list = this.jdbcTemplate.queryForList(sql, new Object[] { indexType });

这个sql语句里有一个日期字段,我在navicat中直接执行该语句正常,但是放到 jdbcTemplate中执行,日期字段自动加了1,求帮助?

阅读 1.9k
1 个回答
新手上路,请多包涵

这个问题我已经找到答案了,原来是 msyql的时区设置的问题,加上`[mysqld]
default-time_zone = '+8:00'即可,而application.properties设置spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=Asia/Shanghai`。
之前spring-boot-1.5.3的时候没有这个问题,是因为两者跟mysql进行时区协商的时候,机制上会有所不同。

推荐问题