/**
* 项目分页 不带条件
* @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;
}
spring data jpa 分页查询
最新推荐文章于 2022-05-15 21:47:10 发布