MyBatis日期时间段查找

定义的DTO里面有Date字段

Private Date beginDate;

 

  • 入参传入
 @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
 private Date beginDate;

Json字符串直接传入是传入不了的,要通过DateTimeFormat来约定传入的格式。这里就约定成传入的格式要为 2021-05-07 15:07:33。如果不按这个格式传入会出错。

  • 出参格式化
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date beginDate;

@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date endDate;

这样设置后,接口返回日期也会按照这个规范来返回了。

XML中按时间段查询

如果是时间段的话会再设置一个endDate也和这个一样处理即可。

这么处理之后在xml里就很简单了,只用做如下操作

<if test="beginDate != null and endDate != null">
AND createtime BETWEEN #{beginDate} AND #{endDate}
</if>

 但是现实使用中我还是用到了另外一种办法

没有加@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss"),按道理说不加这个传值传不进来,但是在我在swagger接口里传入2021-05-01 00:00:00格式的值,却成功了。

然后我的XML是这样写的

<if test="beginDate != null and endDate != null">
AND createtime BETWEEN DATE_FORMAT(#{beginDate},'%Y-%m-%d 00:00:00')
AND DATE_FORMAT(#{endDate},'%Y-%m-%d 23:59:59')
</if> 

(11条消息) @JsonFormat与@DateTimeFormat注解的使用_HeJD的博客-CSDN博客_datetimeformat注解使用

(11条消息) @DateTimeFormat 和 @JsonFormat 注解_月下泛舟的博客-CSDN博客

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值