@GetMapping(value = "请求地址", method = {RequestMethod.GET})
public Page<对象> findDublAll(
Pageable pageable
, @RequestParam(value = "参数1", required = false) String 参数1
, @RequestParam(value = "参数2", required = false) String 参数2
) {
Specification<对象> sc = 对象Specs.conjunction();
if (BasicUtil.str(参数1).length() > 0) {
sc = sc.and(DebtSpecs.eq字段(参数1));
}
if (BasicUtil.str(参数2).length() > 0) {
sc = sc.and(DebtSpecs.like字段(参数2));
}
// 排序
Sort.Order[] orders = new Sort.Order[]{
new Sort.Order(Sort.Direction.DESC, "排序字段")
};
return 对象Repo().findAll(sc, new PageRequest(pageable.getPageNumber(), pageable.getPageSize(), new Sort(orders)));
}
public class 对象Specs {
public static Specification<对象> conjunction(){
return (Specification<对象>) (root, query, criteriaBuilder) -> {
return criteriaBuilder.conjunction();
};
}
public static Specification<对象> eq字段(BigDecimal 参数1){
return (Specification<对象>) (root, query, criteriaBuilder) -> {
return criteriaBuilder.equal( root.get( "gbLoanMy" ), 参数1 );
};
}
public static Specification<对象> like字段(String 参数2) {
return (Specification<对象>) (root, query, criteriaBuilder) -> {
return criteriaBuilder.like(root.get("参数2"), "%" + 参数2 + "%");
};
}
}版权声明:本文为weixin_39144798原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。