搜索

Mybatis-Plus按昨天、今天、明天、近?天,自定义起始时间查询 Mybatis-Plus按昨天、今天、明天、近?天,自定义起始时间查询


发布时间: 2022-11-24 21:54:03    浏览次数:78 次

Mybatis-Plus按昨天、今天、明天、近?天,自定义起始时间查询

 

1|01. 前端需要

2|02. 后端 0SQL 实现

实体类主要字段:

public class DemoEntity implements Serializable { private static final long serialVersionUID = 1L; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty("创建时间") private Date createTime; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty("更新时间") private Date updateTime; /** * 查询时间 */ @TableField(exist = false) @ApiModelProperty(value = "查询类型:1-今天,2-昨天,3-近?天,4-自定义起止时间") private Integer queryType; @TableField(exist = false) @ApiModelProperty(value = "queryType为3时指定的天数") private Integer queryDay; @TableField(exist = false) @ApiModelProperty(value = "queryType为4时的起始时间") private Date queryStartTime; @TableField(exist = false) @ApiModelProperty(value = "queryType为4时的结束时间") private Date queryEndTime; }

service的实现代码:

QueryWrapper<DemoEntity> queryWrapper = new QueryWrapper<>(); // 添加时间(查询类型:1-今天,2-昨天,3-近?天,4-自定义起止时间) if (entity.getQueryType()!= null) { switch (entity.getQueryType()) { case 1: queryWrapper.apply( true, "TO_DAYS(NOW())-TO_DAYS(create_time) = 0"); break; case 2: queryWrapper.apply( true, "TO_DAYS(NOW())-TO_DAYS(create_time) = 1"); break; case 3: queryWrapper.apply( true, "DATE_SUB(CURDATE(), INTERVAL "+ entity.getQueryDay() + " DAY) <= date(create_time)"); break; case 4: java.text. DateFormat sdf = new java.text.SimpleDateFormat( "yyyy-MM-dd hh:mm:ss"); String startTime = sdf.format(entity.getQueryStartTime()); String endTime = sdf.format(entity.getQueryEndTime()); queryWrapper.apply( true, "create_time between '"+ startTime + "' and '" + endTime + "'"); break; } }

__EOF__

本文作者soldier
本文链接https://www.cnblogs.com/soldier-cnblogs/p/15068912.html
关于博主:评论和私信会在第一时间回复。或者 直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角 推荐一下。您的鼓励是博主的最大动力!
 
 
0
0
 
 
 
« 上一篇: SpringBoot+vue+elementUI+minio文件上传并点击下载
» 下一篇: java+mybatis 数据统计每天/月 并补全日期
posted @ 2021-07-28 09:33  soldier_cnblogs  阅读( 1002)  评论( 0编辑  收藏  举报
 

1|01. 前端需要

2|02. 后端 0SQL 实现

实体类主要字段:

public class DemoEntity implements Serializable { private static final long serialVersionUID = 1L; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty("创建时间") private Date createTime; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty("更新时间") private Date updateTime; /** * 查询时间 */ @TableField(exist = false) @ApiModelProperty(value = "查询类型:1-今天,2-昨天,3-近?天,4-自定义起止时间") private Integer queryType; @TableField(exist = false) @ApiModelProperty(value = "queryType为3时指定的天数") private Integer queryDay; @TableField(exist = false) @ApiModelProperty(value = "queryType为4时的起始时间") private Date queryStartTime; @TableField(exist = false) @ApiModelProperty(value = "queryType为4时的结束时间") private Date queryEndTime; }

service的实现代码:

QueryWrapper<DemoEntity> queryWrapper = new QueryWrapper<>(); // 添加时间(查询类型:1-今天,2-昨天,3-近?天,4-自定义起止时间) if (entity.getQueryType()!= null) { switch (entity.getQueryType()) { case 1: queryWrapper.apply( true, "TO_DAYS(NOW())-TO_DAYS(create_time) = 0"); break; case 2: queryWrapper.apply( true, "TO_DAYS(NOW())-TO_DAYS(create_time) = 1"); break; case 3: queryWrapper.apply( true, "DATE_SUB(CURDATE(), INTERVAL "+ entity.getQueryDay() + " DAY) <= date(create_time)"); break; case 4: java.text. DateFormat sdf = new java.text.SimpleDateFormat( "yyyy-MM-dd hh:mm:ss"); String startTime = sdf.format(entity.getQueryStartTime()); String endTime = sdf.format(entity.getQueryEndTime()); queryWrapper.apply( true, "create_time between '"+ startTime + "' and '" + endTime + "'"); break; } }

__EOF__

本文作者soldier
本文链接https://www.cnblogs.com/soldier-cnblogs/p/15068912.html
关于博主:评论和私信会在第一时间回复。或者 直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角 推荐一下。您的鼓励是博主的最大动力!
 
免责声明 Mybatis-Plus按昨天、今天、明天、近?天,自定义起始时间查询 Mybatis-Plus按昨天、今天、明天、近?天,自定义起始时间查询,资源类别:文本, 浏览次数:78 次, 文件大小:-- , 由本站蜘蛛搜索收录2022-11-24 09:54:03。此页面由程序自动采集,只作交流和学习使用,本站不储存任何资源文件,如有侵权内容请联系我们举报删除, 感谢您对本站的支持。 原文链接:https://www.cnblogs.com/fanwenyan/p/16916358.html