SpringData分页Page、Slice、Pageable用法

1.返回list

 List findByNameLike(String name);

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

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

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

3.org.springframework.data.domain.Slice

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

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

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

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

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

3.2 获取该页数据

List 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不用手动计算页码了

你可能感兴趣的:(Spring,Data)