Spring Data JPA 分页

本文探讨了Spring Data JPA中的分页实现,通过分析源码揭示了分页信息如何从高层传递到DAO层,最终形成SQL的LIMIT语句。主要涉及Pageable接口、Slice和Page类,以及AbstractPageRequest和PageRequest的使用。
摘要由CSDN通过智能技术生成

最近在学习Spring Data JPA,    用到了 Spring-data-commons包中自带的分页工具,

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;

public interface CommentRepository extends JpaRepository<Comment,Integer> {

    @Override
        Page<Comment> findAll(Pageable pageable);
}

抱着学习的心态看了下源码,是为了了解别人的实现思路, 在这里记录一下。


1.  总的来说,分页是实现了将想要请求的   pageIndex, pagesize  或者其他分页信息层层传递到dao层,

执行了一行类似下面的sql (mysql) ,并将数据返回给前端的过程。

limit关键字:LIMIT [offset,] rows

offset 是偏移量 默认是0 ,  rows是要查的行数

select * from table limit 0,5          查询前五行数据

select * from table  limit 5            查询前五行数据   因为偏移量默认是零 

select * from table_name limit 10,5         查询第11 到15 的数据     


2.  其中主要包含了以下接口和类

接口: 1.   pageable  自定义的一个接口

      2. Slice<T>    继承了 Iterable<T

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值