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);
  • 相关阅读:
    IPC总结学习
    机器学习中的范数规则
    机器学习的几个误区-转载
    来几道大数据的面试题吧
    海量数据随机抽样问题(蓄水池问题)
    字符串类算法题目总结
    RPC学习
    如何做出健壮的系统设计
    关于bind函数和connect函数的测试结论
    [置顶] Codeforces Round #197 (Div. 2)(完全)
  • 原文地址:https://www.cnblogs.com/luoa/p/15138468.html
Copyright © 2011-2022 走看看