Spring Data JPA的排序和分页
程序员文章站
2022-03-02 15:36:49
...
一 点睛
Spring Data JPA考虑了在实际开发中所必须的排序和分页的场景,针对排序提供了Sort类,针对分页,提供了Page接口和Pageable接口。
二 排序的定义和使用
1 定义
public interface UserRepository extends JpaRepository<User, Long> {
@Query("select u from User u where u.lastname like ?1%")
List<User> findByAndSort(String lastname, Sort sort);
@Query("select u.id, LENGTH(u.firstname) as fn_len from User u where u.lastname like ?1%")
List<Object[]> findByAsArrayAndSort(String lastname, Sort sort);
}
2 使用
repo.findByAndSort("lannister", new Sort("firstname")); //通过lannister查询的结果按照firstname进行排序
repo.findByAsArrayAndSort("bolton", new Sort("fn_len")); //通过bolton查询的结果按照fn_len进行排序
三 分页的定义和使用
1 定义
public interface PagingAndSortingRepository<T, ID extends Serializable>
extends CrudRepository<T, ID> {
Iterable<T> findAll(Sort sort);
Page<T> findAll(Pageable pageable);
}
2 使用
PagingAndSortingRepository<User, Long> repository = // 获得一个Bean
//20条记录为1页,访问第2页,注意索引0为第1页
Page<User> users = repository.findAll(new PageRequest(1, 20));
上一篇: 数组的相关内容
下一篇: numpy库的相关内容
推荐阅读
-
spring-data-jpa实现增删改查以及分页操作方法
-
Spring Data JPA使用Sort进行排序(Using Sort)
-
详解Spring Data JPA系列之投影(Projection)的用法
-
Spring-Data-JPA整合MySQL和配置的方法
-
浅谈jpa、hibernate与spring data jpa三者之间的关系
-
Spring data JPA 多表联合分页查询 自定义实体类
-
Spring Data数据持久化API JPA的使用
-
Spring Boot和Thymeleaf整合结合JPA实现分页效果(实例代码)
-
Spring data jpa的使用与详解(复杂动态查询及分页,排序)
-
在Spring Boot中使用Spring-data-jpa实现分页查询