1、创建repository。
public interface RuleRepository extends JpaRepository<RuleEntity, Long> ,JpaSpecificationExecutor<RuleEntity> { }
2、编写service。
@Override public List<RuleDomain> queryRule( String client, Integer pageIndex, Integer pageSize) throws Exception { Pageable pageable = new PageRequest(pageIndex, pageSize, Sort.Direction.DESC, "id"); Page<RuleEntity> rulePage = ruleRepository.findAll(new Specification<RuleEntity>(){ @Override public Predicate toPredicate(Root<RuleEntity> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) { List<Predicate> list = new ArrayList<Predicate>(); if(null!=client&&!"".equals(client)){ list.add(criteriaBuilder.equal(root.get("client").as(String.class), client)); } Predicate[] p = new Predicate[list.size()]; return criteriaBuilder.and(list.toArray(p)); } },pageable); List<RuleEntity> ruleEntities=rulePage.getContent(); List<RuleDomain> ruleDomains=new ArrayList<>(); BeanUtils.copyProperties(ruleEntities,ruleDomains); return ruleDomains; }