SpringData分页Page、Slice、Pageable用法

1.返回list

 List<TestPerson> findByNameLike(String name);

2.返回org.springframework.data.domain.Page

Pageable pageable1=PageRequest.of(1,4);
        Page<TestPerson> slice4=myRepository.queryByNameLike("%"+name+"%",pageable1);

使用Page时必须使用Pageable参数,会返回数据总条数,需要计算

3.org.springframework.data.domain.Slice

Pageable pageable1=PageRequest.of(0,4);
Slice<TestPerson> slice=myRepository.findAllByNameLike("%"+name+"%",pageable);

若使用Slice时必须使用Pageable参数 

只需要在初始化时对Pageable进行初始化一次就可以

3.1首先不用判断页码,可以根据以下判断上一/下一页码信息,需要用这个方法来初始化Pageable,可以返回给前台做分页传输

//下一页页码数据
        Pageable nextPageable=slice.nextPageable();
        //上一页页码数据
        Pageable previousPageable=slice.previousPageable();

3.2 获取该页数据

List<TestPerson> list=slice.getContent();

3.3获取该页数据量

int i= slice.getSize();

3.4获取是否有上一页和下一页

boolean hasNext=slice.hasNext();
        boolean previous=slice.hasPrevious();

4.Page和Slice区别:

Page因为会获取数据总条数所以消耗比较大,Slice就没有这个问题了

另外,Slice不用手动计算页码了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值