
java中怎么实现时间检索(SpringBoot+Mybatis)
怎么优雅地,不添加冗余字段的情况下完成时间检索?可以参考若依中的处理方式在若依框架中,所有实体类Class都可以去集成超级父类 ->BaseEntity代码可以看到, 这里面有一堆的通用参数,包括createBy,createTime,updateBy,updateTime也在其中而这里有一个我们需要关注的参数:这个参数我们可以让前端以key-value的形式传给我们,然后我们可以将其中数据提取出
·
怎么优雅地,不添加冗余字段的情况下完成时间检索 ?
可以参考若依中的处理方式
在若依框架中,所有实体类Class都可以去集成超级父类 -> BaseEntity
代码
package com.ruoyi.common.core.domain;
import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* Entity基类
*
* @author ruoyi
*/
public class BaseEntity implements Serializable
{
private static final long serialVersionUID = 1L;
/** 搜索值 */
private String searchValue;
/** 创建者 */
private String createBy;
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/** 更新者 */
private String updateBy;
/** 更新时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/** 备注 */
private String remark;
/** 请求参数 */
private Map<String, Object> params;
public String getSearchValue()
{
return searchValue;
}
public void setSearchValue(String searchValue)
{
this.searchValue = searchValue;
}
public String getCreateBy()
{
return createBy;
}
public void setCreateBy(String createBy)
{
this.createBy = createBy;
}
public Date getCreateTime()
{
return createTime;
}
public void setCreateTime(Date createTime)
{
this.createTime = createTime;
}
public String getUpdateBy()
{
return updateBy;
}
public void setUpdateBy(String updateBy)
{
this.updateBy = updateBy;
}
public Date getUpdateTime()
{
return updateTime;
}
public void setUpdateTime(Date updateTime)
{
this.updateTime = updateTime;
}
public String getRemark()
{
return remark;
}
public void setRemark(String remark)
{
this.remark = remark;
}
public Map<String, Object> getParams()
{
if (params == null)
{
params = new HashMap<>();
}
return params;
}
public void setParams(Map<String, Object> params)
{
this.params = params;
}
}
可以看到, 这里面有一堆的通用参数,包括createBy,createTime,updateBy,updateTime也在其中
而这里有一个我们需要关注的参数:
private Map<String, Object> params;
这个参数我们可以让前端以key-value的形式传给我们,然后我们可以将其中数据提取出来
比如"时间检索"我们就可以这样用
前端传参
后端接收并使用
后端首先接收类必须要有这个字段或者继承BaseEntity
然后在mapper.xml中进行编写
<if test="params.beginTime != null and params.beginTime != ''"><!-- 时间检索 -->
and date_format(t.create_time, '%y%m%d') BETWEEN date_format(#{params.beginTime},'%y%m%d') and date_format(#{params.endTime},'%y%m%d')
</if>
sql语句
select * FROM t_test t
WHERE date_format(t.create_time, '%y%m%d') BETWEEN date_format('2023-05-01', '%y%m%d') AND date_format('2023-06-01', '%y%m%d') order by t.id DESC LIMIT 10
整个就完成了,是不是很简单!
更多推荐
所有评论(0)