mybatis(结合jefast框架)写入日期字段出现格式错误的问题及原因(springboot)

添加日期字段,想要显示2000-01-01格式,却出现2000-01-01 00:00:00的情况或者反之

写springboot项目的时候出现时间格式错误使用
@DateTimeFormat(pattern = “yyyy-MM-dd”)或者
@DateTimeFormat(pattern=“yyyy-MM-dd HH:mm:ss”)
就可以修改和显示日期

在这里插入图片描述

在mybatis中却不可以,理由在下面归纳
需要写@JsonFormat这个注解

@JsonFormat(pattern = “yyyy-MM-dd”,timezone = “GTM+8”)
//pattern是日期格式,timezone是时区
private Date studentBirthday;

在这里插入图片描述

原因:

@JsonFormat既可以约束前端传入的时间类型参数格式,也可以约束后端响应前端的时间类型格式;
@DateTimeFormat只能约束前端传入的时间类型参数格式,且如果单独使用@DateTimeFormat时,响应给前端的时间会比实际时间晚8个小时(时区原因)。需要设置时区(timezone = “GTM+8”)

通俗些说

我们在前台写的日期,提交到后台,我们希望直接变为data类型,这样直接窜入数据库,而不是string接收然后在通过simpleDateFormat进行格式转换,可以直接使用@DateTimeFormat注解(@DateTimeFormat注解解决前台string类型与后台date类型的转换)
我们从数据库查询到了日期,然后要把日期转变成string类型显示,就可以直接使用@JsonFormat注解(@JsonFormat注解解决后台date类型与前台string类型的转换)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值