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

JPA条件查询时间区间用LocalDateTime的问题的更多相关文章

  1. Jpa条件查询组合查询and 和 or同时用

    条件查询,各个条件之间是and并且&&关系,其中地理信息省市区县,例如河北省,要包括其下属所有城市,每个城市包括下属区县,只选择河北省时候,要查询的是河北省所有的,他们之间是or 或者 ...

  2. Spring Data JPA 条件查询的关键字

    Spring Data JPA 为此提供了一些表达条件查询的关键字,大致如下: And --- 等价于 SQL 中的 and 关键字,比如 findByUsernameAndPassword(Stri ...

  3. SpringBoot JPA + 分页 + 单元测试SpringBoot JPA条件查询

    application.properties 新增数据库链接必须的参数 spring.jpa.properties.hibernate.hbm2ddl.auto=update 表示会自动更新表结构,所 ...

  4. Spring data jpa 条件查询-按时间段查询

    项目开发中的代码片段,仅供参考 @Override public Page<泛型> findRecordList(int couponDetailId, int pageNum, int ...

  5. mybatis的mapper特殊字符转移以及动态SQL条件查询

    前言 我们知道在项目开发中之前使用数据库查询,都是基于jdbc,进行连接查询,然后是高级一点jdbcTemplate进行查询,但是我们发现还是不是很方便,有大量重复sql语句,与代码偶合,效率低下,于 ...

  6. JPA分页查询与条件分页查询

    情有独钟的JPA 平时在写一些小项目时,比较喜欢引用 Spring Data Jpa,其实还是图他写代码快~在日常的开发工作中,分页列表查询基本是随处可见,下面一起看一下如何使用 jpa 进行多条件查 ...

  7. spring data jpa实现多条件查询(分页和不分页)

    目前的spring data jpa已经帮我们干了CRUD的大部分活了,但如果有些活它干不了(CrudRepository接口中没定义),那么只能由我们自己干了.这里要说的就是在它的框架里,如何实现自 ...

  8. 【JPA】表达条件查询的关键字

    1.通过解析方法名创建查询 框架在进行方法名解析时,会先把方法名多余的前缀截取掉,比如 find.findBy.read.readBy.get.getBy,然后对剩下部分进行解析.并且如果方法的最后一 ...

  9. Spring Data JPA,一种动态条件查询的写法

    我们在使用SpringData JPA框架时,进行条件查询,如果是固定条件的查询,我们可以使用符合框架规则的自定义方法以及@Query注解实现. 如果是查询条件是动态的,框架也提供了查询接口. Jpa ...

随机推荐

  1. js下载文件

    本文的前提是:后台给的是一个可以下载的url的情况下的下载: 怎样的文件url才能触发浏览器的下载行为?(转自SF) 能触发浏览器下载的url有两类: response header中指定了Conte ...

  2. 例如android:layout_marginBottom的值为负数

    为什么有时候像android:layout_marginBottom等变量的赋值为负数? 例如如下代码: <?xml version="1.0" encoding=" ...

  3. String path = request.getContextPath

    <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+ ...

  4. JS获取对象“属性和方法”的方法

    平时在写的代码过程中,经常会遇到对对象Object的数据处理.而在对对象的数据处理中,操作最频繁的是“数据引用”.“值的修改”.“获取关键字(属性)”.平时最烦的也是“获取关键字”,经常忘记怎么去获取 ...

  5. sql 字符、数字类型自动转换及运算

    本页面所有内容也可以在oracle 运行,只需要把int.float .decimal 改为 number类型即可 -- 字符串转数字 int 类型 drop table test;create ta ...

  6. angular-动画。

    ngAnimate插件是做什么的? ngAnimate插件如其名字一样是为元素提供动画的. 怎么定义动画? 第一步必须是引入插件 <script src="//cdn.bootcss. ...

  7. css.map作用

    看一段sass代码: 嵌套书写的结构在sass中经常会被用到. 编译之后的样式是这样的: 在开发工具上我们看到的是编译后的文件,而非编译前的源文件. 这个时候就产生一个问题了.在生产环境中,我希望看到 ...

  8. PHP接收IOS post过来的json数据无法解析的问题

    在本地环境下运行解析OK 换到线上的环境解析失败 开始怀疑各种编码问题,解决均无效. 查看phpinfo 发现magic_quotes_gpc =on 终于找到问题所在,更改php.ini文件 mag ...

  9. ubuntu 下mysql导入出.sql文件

    1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql 2.导 ...

  10. Windows2003系统取消关机提示的方法

    方法有两种:1.编辑组策略 打开“开始”-“运行”,在“打开”一栏中输入“gpedit.msc”命令打开组策略编辑器,依次展开“计算机配置”→“管理模板”→“系统”,双击右侧窗口出现的“显示‘关闭事件 ...