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之康庄大道”

  • 相关阅读:
    POJ-1700 Crossing River
    C++操作符new-动态存储空间分配
    POJ-3978-Primes
    POJ-1316-Self Numbers
    浅谈二维数组在传参中的使用
    OneToMany与ManyToOne的属性
    jquery的学习
    struts2常用标签
    Struts2.xml中result type属性说明
    监听器Listener
  • 原文地址:https://www.cnblogs.com/yunqing/p/10551492.html
Copyright © 2011-2022 走看看