jdbcTemplate 取数据库中的 TIMESTAMP 日期问题

注意不要这样用 jdbcTemplate 取数据库中的 TIMESTAMP 日期,这样返回的日期会是当前日期,而不是数据库中查询出来的日期。

如数据库字段 create_time 为 TIMESTAMP 类型:

import java.util.Date;

String sql = "SELECT MAX(mtm.create_time) FROM t_message mtm";

Date result = jdbcTemplate.query(sql, paramMap, new BeanPropertyRowMapper<T>(Date.class));
// 上面那样写其实就相当于这样,无论数据库中是否能查询出结果
// Date result = new Date();

应该改成这样:

String sDate = jdbcTemplate.query(sql, paramMap, new BeanPropertyRowMapper<T>(String.class));
Date result = DateUtil.parse(sDate);

具体原因我尝试跟了一下代码,但感觉太复杂,跟不下去。。。

有知道具体原因的请告知,

谢谢!

猜你喜欢

转载自my.oschina.net/u/860267/blog/895846