在JPA中简单的分页可以直接通过传入Pageable,返回Page<T>。
Page<User> findByLastname(String lastname, Pageable pageable);
Slice<User> findByLastname(String lastname, Pageable pageable);
如果要传入复杂的过滤条件,可以使用SQL中的Limit,在这里的关键词是first和top。
User findFirstByOrderByLastnameAsc();
User findTopByOrderByAgeDesc();
Page<User> queryFirst10ByLastname(String lastname, Pageable pageable);
Slice<User> findTop3ByLastname(String lastname, Pageable pageable);
List<User> findFirst10ByLastname(String lastname, Sort sort);
List<User> findTop10ByLastname(String lastname, Pageable pageable);
注1:Page和Slice的区别就像List和Iterator
参考链接:
http://somefuture.iteye.com/blog/2254089
https://blog.csdn.net/u014633852/article/details/52607346#%E9%99%90%E5%88%B6%E6%9F%A5%E8%AF%A2%E7%BB%93%E6%9E%9C%E6%95%B0%E9%87%8F
http://www.jb51.net/article/115510.htm
http://www.jb51.net/article/111056.htm
https://docs.spring.io/spring-data/data-commons/docs/current/api/org/springframework/data/domain/Slice.html