zoukankan      html  css  js  c++  java
  • JPA条件查询时间区间用LocalDateTime的问题


    @Override
    public Page<Order> findAll(String outTradeNo, String tradeNo, String mchAppid, String status, String payType, String startData, String endData, Pageable pageable) { Page<Order> pageList = orderDao.findAll((root,query,cb) -> { List<Predicate> list = new ArrayList<Predicate>(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdfmat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); if (StringUtils.isNotEmpty(startData) && StringUtils.isNotEmpty(endData)) { try { list.add(cb.between(root.get("payTime"), LocalDateTime.parse(sdfmat.format(sdf.parse(startData)),df), LocalDateTime.parse(sdfmat.format(sdf.parse(endData).getTime()+86400000), df))); } catch (ParseException e) { e.printStackTrace(); } } if(outTradeNo!=null && outTradeNo!="") { list.add(cb.like(root.get("outTradeNo"), "%"+outTradeNo+"%")); } if(tradeNo!=null && tradeNo!="") { list.add(cb.like(root.get("tradeNo"), "%"+tradeNo+"%")); } if(mchAppid!=null && mchAppid!="") { list.add(cb.like(root.get("mchAppid"), "%"+mchAppid+"%")); } if(status!=null && status!="") { list.add(cb.equal(root.get("state"), status)); } if(payType!=null && payType!="") { list.add(cb.equal(root.get("payType"), payType)); } Predicate[] array = new Predicate[list.size()]; return cb.and(list.toArray(array)); }, pageable); return pageList; }

    更多精彩文章欢迎关注公众号“Java之康庄大道”

  • 相关阅读:
    js apply的用法
    js 键盘点击事件
    jquery 中 attr 和 prop 的区别
    css实现等高布局 两栏自适应布局 三栏自适应布局
    Python多线程同步命令行模拟进度显示
    Windows上Python3.5安装Scrapy(lxml)
    Ubuntu14.04右键菜单添加Sublime 2打开选项
    Git使用笔记(一)
    C# Winform程序本地化应用
    修改Windows系统的启动Shell
  • 原文地址:https://www.cnblogs.com/yunqing/p/10551492.html
Copyright © 2011-2022 走看看