首页 > 其他分享 >JPA 分页 条件 查询

JPA 分页 条件 查询

时间:2023-02-01 19:00:09浏览次数:44  
标签:reportTaskQueryDto sort predicate 分页 JPA 查询 criteriaBuilder expressions root

 

 

public Page<ReportTask> getListByPage(ReportTaskQueryDto reportTaskQueryDto) {
        final Integer offset = reportTaskQueryDto.getOffset();
        final Integer limit = reportTaskQueryDto.getLimit();
        Sort sort = Sort.sort(ReportTask.class).by(ReportTask::getCreateTime).descending();
        PageRequest pageRequest = PageRequest.of(offset, limit, sort);
        Specification<ReportTask> specification = (root, query, criteriaBuilder) -> {
            Predicate predicate = criteriaBuilder.conjunction();
            List<Expression<Boolean>> expressions = predicate.getExpressions();
            if (!Objects.isNull(reportTaskQueryDto.getTaskName())) {
                expressions.add(criteriaBuilder.like(root.get("taskName"), "%" + reportTaskQueryDto.getTaskName() + "%"));
            }
            if (!Objects.isNull(reportTaskQueryDto.getStatus())) {
                expressions.add(criteriaBuilder.equal(root.get("status"), reportTaskQueryDto.getStatus()));
            }
            return predicate;
        };

        return reportTaskRepository.findAll(specification, pageRequest);
    }

 

标签:reportTaskQueryDto,sort,predicate,分页,JPA,查询,criteriaBuilder,expressions,root
From: https://www.cnblogs.com/shangwei/p/17083887.html

相关文章

  • 【ES HTTP-高级查询 02】
    一、高级查询Elasticsearch提供了基于JSON完整的DSL来定义查询#构造数据-供后续各种复杂的查询做准备#POST/student/_doc/1001{"name":"zhangsan","nic......
  • SQL Server 分页查询
    由于数据比较多,需要对数据进行分页展示,数据库用的是SQLServer,具体的分页方式:select*from(selecid,ROW_NUMBER()OVER(OrderbyinsertTimedesc)ASRowId fromt......
  • 随机高并发查询结果一致性设计实践
    作者:京东物流赵帅姚再毅王旭东孟伟杰孔祥东1前言物流合约中心是京东物流合同管理的唯一入口。为商家提供合同的创建,盖章等能力,为不同业务条线提供合同的定制,归档,查询......
  • springdata jpa之ddl-auto配置的属性
    参考:spring-data-jpa自动建表_糖沁的博客-CSDN博客_springdatajpa自动建表springdatajpa之ddl-auto配置的属性-King-DA-博客园(cnblogs.com)......
  • 随机高并发查询结果一致性设计实践
    作者:京东物流赵帅姚再毅王旭东孟伟杰孔祥东1前言物流合约中心是京东物流合同管理的唯一入口。为商家提供合同的创建,盖章等能力,为不同业务条线提供合同的定制,归档,查......
  • jpa多数据源时Hibernate配置自动生成表不生效
    jpa配置多数据源教程很多,在Springboot2之后有一些变化,来看一下。application.yml如下:spring:application:name:t3ccdatasource:primary:jdbc-url:jdb......
  • Django实现从数据库查询数据展示在界面
    配置路径,编写前台界面应用之前建好的数据库表参考https://www.cnblogs.com/roselearn/p/17075119.html下图为数据库的数据编写视图from.models......
  • MySQL 合并查询union 查询出的行合并到一个表中
    在合并查询中,尤其是二分类的情况,在查询结果是相同列名的时候可以考虑合并查询。先查询出行的结果,再使用union或者unionall合并查询结果。另外如果union和orderby一......
  • python mongo查询
    importpymongo#连接数据库环境myclient1=pymongo.MongoClient('mongodb://账号:密码@ip:端口/')mydb1=myclient1["slot"]//dbmycol1=mydb1["ota.versions"]//表x=my......
  • Hive 刷题——查询每个用户登录日期的最大空档期
    需求描述从登录明细表(user_login_detail)中查询每个用户两个登录日期(以login_ts为准)之间的最大的空档期。统计最大空档期时,用户最后一次登录至今的空档也要考虑在内,假设今......