解决mybatis查询日期时间数据得到long类型数据的问题

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 18:00   1779   0

转载出处: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。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP