zoukankan      html  css  js  c++  java
  • mybatisplus时间范围查询

    mybatisplus,时间范围查询的两种方式。下面以查询当天的数据为例。(备注:?表示具体的实体类)

    一、between()

     LambdaQueryWrapper<?> lq = Wrappers.lambdaQuery();
            Date start = DateUtil.strToDateLong(DateUtil.dateToStr(new Date(), Locale.CHINA) + " 00:00:00");
            Date end = DateUtil.strToDateLong(DateUtil.dateToStr(new Date(), Locale.CHINA) + " 23:59:59");
            lq.between(?::getCreateTime, start, end);

    引用的时间类:

    import java.text.DateFormat;
    import java.text.ParsePosition;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.Locale;
    
    public class DateUtil {
    
        public static ThreadLocal<DateFormat> chinaDateSDF = new ThreadLocal<DateFormat>() {
    
            @Override
            protected DateFormat initialValue() {
                SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA);
                return df;
    
            }
        };
    
        /**
         * 获取日期yyyy-MM-dd格式字符串
         *
         * @param date
         * @param locale
         * @return
         */
        public static String dateToStr(Date date, Locale locale) {
            if (locale == null) {
    
            }
            return chinaDateSDF.get().format(date);
        }
    
        /**
         * 将长时间格式字符串转换为时间 yyyy-MM-dd HH:mm:ss
         *
         * @param strDate
         * @return
         */
        public static Date strToDateLong(String strDate) {
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            ParsePosition pos = new ParsePosition(0);
            Date strtodate = formatter.parse(strDate, pos);
            return strtodate;
        }
    }

    二、结合ge()和le()

     LambdaQueryWrapper<?> lambdaQueryWrapper = Wrappers.lambdaQuery();
            Calendar start = Calendar.getInstance();
            Calendar end = Calendar.getInstance();
            start.add(Calendar.DATE,-1);
            //
            start.set(Calendar.HOUR_OF_DAY, 0);
            //
            start.set(Calendar.MINUTE, 0);
            //
            start.set(Calendar.SECOND, 0);
    
            String startDate = simpleDateFormat.format(start.getTime());
    
            //
            end.set(Calendar.HOUR_OF_DAY, 0);
            //
            end.set(Calendar.MINUTE, 0);
            //
            end.set(Calendar.SECOND, 0);
    
            String endDate = simpleDateFormat.format(end.getTime());
            lambdaQueryWrapper.ge(?::getCreateTime,startDate).le(?::getCreateTime,endDate);
  • 相关阅读:
    (转)卡特兰数
    fatal error LNK1123: 转换到 COFF 期间失败
    cocos2dx 中文乱码问题
    c++ primer查漏补缺(一)命名空间
    Centos 7 二进制部署高可用Kubernetes v1.17.x
    hostAliases给pod增加域名解析
    常用的清理 Kubernetes 集群资源命令
    Kubernets 污点与容忍
    Docker 常用命令大全
    Kubernets健康检查——配置存活、就绪和启动探测器
  • 原文地址:https://www.cnblogs.com/luoa/p/15138468.html
Copyright © 2011-2022 走看看