spring data jpa 分頁查詢

 /**
     * 項目分頁  不帶條件
     * @author lm
     * @createTime 2017年8月5日12:51:13
     * @param pageable
     * @return
     */
    @Transactional(Transactional.TxType.NOT_SUPPORTED)
    public Page<Project> projectPageNoCriteria(Pageable pageable) {
        return projectRepository.findAll(pageable);
    }

    /**
     * 項目分頁  帶條件
     * @author lm
     * @createTime 2017年8月5日12:51:13
     * @param pageable
     * @return
     */
    @Transactional(Transactional.TxType.NOT_SUPPORTED)
    public Page<ProjectUser> projectPageCriteria(Pageable pageable, Project project) {
        Page<Project> projectPage = projectRepository.findAll(new Specification<Project>() {
            @Override
            public Predicate toPredicate(Root<Project> root, CriteriaQuery<?> query, CriteriaBuilder criteriaBuilder) {
                List<Predicate> list = new ArrayList<>();
                if (null != project.getCompanyName() && !"".equals(project.getCompanyName())) {
                    list.add(criteriaBuilder.like(root.get("companyName").as(String.class), "%" + project.getCompanyName() + "%"));
                }
                Predicate[] p = new Predicate[list.size()];



                return criteriaBuilder.and(list.toArray(p));
            }
        }, pageable);
        return projectPage;
    }
發佈了20 篇原創文章 · 獲贊 7 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章