@Override
public List<SvCatalog> listSvCatalogAll(SvCatalog svCatalog,String startTime,String endTime, LoginUser loginUser) {
QueryWrapper queryWrapper = new QueryWrapper(svCatalog);
// pid是空的
queryWrapper.isNull("pid");
// 当前登录用户的数据
queryWrapper.eq("user_id", loginUser.getUser().getUserId().toString());
// 时间区间查询方式1,适用于数据库字段是时间类型的
queryWrapper.apply(!CommUtils.isEmpty(startTime),"to_date(create_time::text,'YYYY-MM-DD') >= to_date('" + startTime + "','YYYY-MM-DD')");
queryWrapper.apply(!CommUtils.isEmpty(endTime),"to_date(create_time::text,'YYYY-MM-DD') <= to_date('" + endTime + "','YYYY-MM-DD')");
// 时间区间查询方式2,适用于数据库字段是字符串类型的
queryWrapper.apply(!CommUtils.isEmpty(startTime),"to_timestamp(create_time,'YYYY-MM-DD') >= to_timestamp('" + startTime + "','YYYY-MM-DD')");
queryWrapper.apply(!CommUtils.isEmpty(endTime),"to_timestamp(create_time,'YYYY-MM-DD') <= to_timestamp('" + endTime + "','YYYY-MM-DD')");
// 根据创建时间降序
queryWrapper.orderByDesc("create_time");
// 最后把条件放入方法里
List<SvCatalog> list = svCatalogService.list(queryWrapper);
return list;
}
使用mybatisplus条件构造器进行一个字段的时间段查询
最新推荐文章于 2023-07-07 19:05:19 发布