Ros*_*ina 4 java sorting spring pagination spring-data-jpa
我正在开发一个 Spring 项目,其中有任务(id,名称)和分配(task_id,名称,...)。当我收到任务时,我也会收到分配的任务,但我无法实现分页系统。
public List<Tasks> getAllTasks() {
List<Tasks> task = (List<Tasks>) taskRepository.findAll();
return task;
}
Run Code Online (Sandbox Code Playgroud)
这是我当前的代码。我想在分页的每一侧显示 10 个项目。
我尝试过类似的事情:
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());
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用。
我当前的 JSON 响应如下:
{
id: 1,
name: First Task
assignments: [
{
id: 1,
assignment_name: firstassignment
},
{
id: 2,
assignment_name: secondassignment
}]
}
Run Code Online (Sandbox Code Playgroud)
我还读到它不需要是一个列表。我对任何想法持开放态度。
您可以创建并pageable作为参数发送findAll以获取数据
public Page<Tasks> getAllTasks(int page, int size){
Pageable pageable = PageRequest.of(page, size);
return taskRepository.findAll(pageable);
}
Run Code Online (Sandbox Code Playgroud)
这里有一篇关于 Spring Data JPA 中分页的好文章
| 归档时间: |
|
| 查看次数: |
2687 次 |
| 最近记录: |