javascript
springboot 分页查询参数_10. Spring Boot 中的分页查询
在Spring Boot中使用分頁查詢主要依賴了org.springframework.data.domain.*包下面的及格分頁類的功能。使用分頁查詢常見有兩種方式,一種是直接在程序中寫死分頁的參數(頁數,每頁大小等),需要依賴@PageableDefault注解。該注解指明了分頁參數的默認值。另一種則是,可以通過URL等傳入的信息進行分頁信息的設置。
在常用的項目中,分頁信息肯定是可以傳入的,因此,只討論如何根據傳入的分頁信息來實現分頁查詢。
1. Repository層加入分頁支持
依然以配置了JPA操作的Spring Boot項目為例,要實現分頁,需要在原有的架構上進行一定的改造。
首先就是在DAO層本身要支持分頁參數。由于Spring中jpa的簡化性,只需要添加如下類似的聲明,即表示可以通過DAO層支持分頁訪問數據庫了。
Page findAll(Pageable pageable);
2. 服務層提供對該接口的訪問
做一個簡單的封裝即可,例如:
/**根據傳入的分頁參數,查詢指定分頁內的用戶列表*/
public Page getAllSysUserInfoByPageable(Pageable pageable){
return sysUserInfoRepository.findAll(pageable);
}
3. Controller層創建分頁對象來訪問
底層的分頁支持都已經提供好了,只需要在Controller層根據用戶傳入的參數來創建一個分頁請求對象,就可以實現分頁查詢了。
第一步: 設置分頁后的結果排序方案對象。
第二步: 根據排序方案對象和傳入的參數實例化一個Pageable對象,用于分頁的大小、頁面數和排序方案。
第三步: 使用該分頁對象
一個簡單的示例如下:
/**實現分頁查詢的方法*/
@GetMapping("/page/{pageId}/size/{sizeId}")
public List getAllSysUserInfoListByPage(@PathVariable("pageId") int pageId, @PathVariable("sizeId") int size) {
Sort sort = new Sort(Sort.Direction.ASC, "userId");
Pageable pageable = new PageRequest(pageId, size, sort);
Page pageContent = sysUserInfoService.getAllSysUserInfoByPageable(pageable);
return pageContent.getContent();
}
Pageable是一個接口,用于接收分頁請求(PageRequet)對象。
分頁參數pageId是默認從 0 開始計數的。
總結
以上是生活随笔為你收集整理的springboot 分页查询参数_10. Spring Boot 中的分页查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1014 福尔摩斯的约会 (20分)
- 下一篇: Word 转手写体