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