Spring Data JPA自定义查询,分页,排序
来源:互联网 发布:尤伦斯艺术商店 淘宝 编辑:程序博客网 时间:2024/05/19 02:25
1,自定义的repository 需要继承这2个接口
public interface AdviceClassRepository extends JpaRepository<AdviceClass,Long>,JpaSpecificationExecutor<AdviceClass> {}
JpaRepository作用:支持基本的增删改查和排序功能
JpaSpecificationExecutor作用:支持自定义查询和分页及排序
下面2个示例 展示自定义查询
public Page<AdviceClass> findAll(AdviceClass adviceClass, PageRequest pageRequest) { /*Sort sort = new Sort(Sort.Direction.ASC, "orderNumber","id");//这里是用POJO的属性,不是表里面*/// Pageable pageable = new PageRequest(pageRequest.getPageNumber(),pageRequest.getPageSize(), new Sort(Sort.Direction.ASC, new String[]{"orderNumber"})); return adviceClassRepository.findAll(Specifications.where(new Specification<AdviceClass>() { @Override public Predicate toPredicate(Root<AdviceClass> root, CriteriaQuery<?> query, CriteriaBuilder cb) { Predicate predicate=cb.conjunction(); if(adviceClass!=null){ if(StringUtils.isNotBlank(adviceClass.getAdviceName())){ predicate.getExpressions().add(cb.like(root.<String>get("adviceName"),"%"+StringUtils.trim(adviceClass.getAdviceName())+"%")); } if(adviceClass.getActive()!=null){ predicate.getExpressions().add(cb.equal(root.<Short>get("active"), adviceClass.getActive())); } if(StringUtils.isNotBlank(adviceClass.getRemark())){ predicate.getExpressions().add(cb.like(root.<String>get("remark"),"%"+StringUtils.trim(adviceClass.getRemark())+"%")); } } return predicate; } }),pageRequest); }//注意下pageRequest的分页对象,第一页是page=0
阅读全文
0 0
- Spring Data JPA自定义查询,分页,排序
- Spring Data Jpa --分页、排序查询
- spring data jpa 分页查询
- spring data jpa分页查询
- spring data jpa 分页查询
- Spring Data JPA 自定义查询
- Spring jpa data多条件分页查询
- spring data jpa 条件分页查询
- Spring Data Jpa实现分页查询
- spring data jpa 自定义分页插件
- Spring Data Jpa: 分页和排序
- Spring Data Jpa: 分页和排序
- Spring Data JPA: 分页和排序
- Spring Data Jpa自定义sql查询返回
- Spring Data Jpa 自定义属性查询规则
- Spring Data JPA自定义native 查询
- JPA 分页查询 (Spring Data Jpa 5)
- 转载 spring-data-jpa 介绍 复杂查询,包括多表关联,分页,排序等
- 洛谷 1414 又是毕业季II 数论
- hdu 2063 二分图匹配入门题 匈牙利算法
- 第一章
- Java语法基础练习题3
- JAVA内部类(内置类,嵌套类)
- Spring Data JPA自定义查询,分页,排序
- solr进阶二:新建core
- 升级Python版本后不能使用yum命令
- Docker的ubuntu镜像无ifconfig和ping命令 bash: ifconfig: command not found
- NotePad++的NppExec配置GTK+
- 超全面的JavaWeb笔记day11<JSP&Session&Cookie&HttpSession>
- 第六章 相同的功能,不同的代码
- 数组
- 四种集合的遍历(HashMap、Queue、Stack、ArrayList)