如何解决列表Java Spring中的分页
我正在一个Spring项目中,其中有Tasks(ID,名称)和Assignments(task_id,名称,...)。当我获得任务时,我也得到了分配的任务,但是我无法实现分页系统。
public List<Tasks> getAllTasks() {
List<Tasks> task = (List<Tasks>) taskRepository.findAll();
return task;
}
我尝试过类似的事情:
public Page<Tasks> getAllTasks(Long page,Long size){
List<Tasks> tsk = (List<Tasks>) taskRepository.findAll();
int start = new PageRequest(page,size).getoffset();
int end = (start + new PageRequest(page,size).getPageSize()) > tsk.size() ? tsk.size() : (start + new PageRequest(page,size).getPageSize());
return new PageImpl<Tasks>(tsk.subList(start,end),new PageRequest(page,size),tsk.size());
}
但是它不起作用。
我当前的JSON响应如下:
{
id: 1,name: First Task
assignments: [
{
id: 1,assignment_name: firstassignment
},{
id: 2,assignment_name: secondassignment
}]
}
我还读到它不必是列表。我愿意接受任何想法。
解决方法
您可以在pageable
中创建并发送findAll
作为参数来获取数据
public Page<Tasks> getAllTasks(int page,int size){
Pageable pageable = PageRequest.of(page,size);
return taskRepository.findAll(pageable);
}
一篇关于Spring Data JPA here中的分页的好文章
,public List<Tasks>getAllTasks(Long page,Long size) {
Pageable taskPageable = new PageRequest.of(page,size);
return taskRepository.findAll(pageable);
}
我们也可以直接获取List
对象,而不是Page
对象。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。