转载出处:https://blog.csdn.net/qq_29216083/article/details/77678981
使用mybatis查询数据时,如果数据库存储的是timestamp、datetime、date、time等时间类型,而Java bean也使用的是date类型,mybatis会自动将date类型转换为unix long时间eg:1503912320000,而不是时间格式。
解决方式有两种:
1.将Java bean 中的类型改为String类型。
2.在java bean 中date类型的get方法上加上注解@JsonFormat
jackson中有一个@JsonFormat注解,将它配置到Date类型的get方法上后,jackson就会按照配置的格式转换日期类型
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
public Date getEnddate() {
return enddate;
}
这样获取到的值就是正常的日期格式了
注意:
1、在实际项目中,从数据库拿出来的数据封装到*VO对象中,*VO对象如果没有什么特殊情况基本的属性都是String类型。
2、与数据库对应的实体中时间类型在Date与LocalDate之间选择的话,选择Localdate。