数据库内查询是有日期的,但是将结果返回给前端后,时间字段变为null。
错误如下
原因是实体类内的Date类型的属性没有和数据库内datetime类型的字段没有进行映射所导致的。
解决方法:
- 将字段和pojo实体类属性进行映射。column为数据库字段,property为pojo类的属性。
@Results({
@Result(column="create_time",property="createTime",jdbcType=JdbcType.TIMESTAMP),
@Result(column="update_time",property="updateTime",jdbcType=JdbcType.TIMESTAMP)
})
运行结果:
可以看到时间已经不为null了,但是是一串数字,这是时间所对应的毫秒数。
可以利用@JsonFormat注解来解决。
在实体类的时间属性上添加如下代码
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
(注:pattern为时间显示的模板;timezone=”GMT+8”是北京时间 东八区 )
再次运行:
成功解决.☺