spring jpa动态条件查询并分页
2017-12-18 10:47
627 查看
@GetMapping("/api/listPage") @ResponseBody public Map<String, Object> listPage(@RequestParam(value = "pageNumber", defaultValue = "1") Integer pageNumber, @RequestParam(value = "pageSize", defaultValue = "100") Integer pageSize, @RequestParam("searchName") String searchName, @RequestParam("searchUrl") String searchUrl) { //Pageable默认从0开始 pageNumber = pageNumber <= 0 ? 0 : pageNumber - 1; Pageable pageable = new PageRequest(pageNumber, pageSize); // Page<Monitor> monitorList = monitorRepository.findMonitorByNameOrUrl(pageable, searchName, urlPath); Specification specification = new Specification() { @Override public Predicate toPredicate(Root root, CriteriaQuery query, CriteriaBuilder cb) { List<Predicate> predicates = new ArrayList<>(); if (StringUtils.isNotBlank(searchName)) { predicates.add(cb.like(root.get("name"), "%" + searchName + "%")); } if (StringUtils.isNotBlank(searchUrl)) { predicates.add(cb.like(root.get("url"), "%" + searchUrl + "%")); } return cb.and(predicates.toArray(new Predicate[predicates.size()])); } }; Page<Monitor> monitorList = monitorRepository.findAll(specification, pageable); Map<String, Object> result = new HashMap<>(); result.put("total", monitorList.getTotalElements()); result.put("rows", monitorList.getContent()); return result; }
相关文章推荐
- Spring data jpa 多表查询(一:单表动态条件查询)
- Spring MVC结合Spring Data JPA实现按条件查询和分页
- 【重点###】SpringDataJPA的组合条件分页查询(笔记思路,便于忘了复习)页面:EasyUI
- 【spring data jpa】带有条件的查询后分页和不带条件查询后分页实现
- Spring Data Jpa-动态查询条件
- Spring data jpa 多表查询(三:多对多关系动态条件查询)
- spring data jpa动态条件查询
- Springboot整合JPA以及动态条件查询的实现
- Spring MVC和Spring Data JPA之按条件查询和分页(kkpaper分页组件)
- 【spring data jpa】带有条件的查询后分页和不带条件查询后分页实现
- 【java】spring-data-jpa 集成hibernate实现多条件分页查询
- Springboot中对jpa动态查询条件的封装
- 【spring data jpa】带有条件的查询后分页和不带条件查询后分页实现
- hibernate(jpa)根据实体动态生成查询条件,并实现分页问题的解决方案
- SpringData JPA 实现动态条件查询
- Spring Data JPA实现动态条件与范围查询实例代码
- Spring data jpa 多表查询(二:多表动态条件查询)
- spring data jpa 条件分页查询
- spring-data-jpa动态条件查询
- 【spring data jpa】带有条件的查询后分页和不带条件查询后分页实现