您好,登錄后才能下訂單哦!
這篇“Java怎么使用Queryable-pageable實現分頁效果”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Java怎么使用Queryable-pageable實現分頁效果”文章吧。
在維護老項目的時候需要對部分分頁進行手動修改、方式是獲取前端的分頁參數 page以及rows、 new PageRequest對象把分頁參數傳進去、通過 queryable.setPageable(pageable);保存、最后進行調用。
完整代碼如下:
@ResponseBody @RequestMapping(value = "getLbjzkList", method = RequestMethod.GET) @PageableDefaults(sort = "id=desc") private void ajaxList(Queryable queryable, PropertyPreFilterable propertyPreFilterable, HttpServletRequest request, HttpServletResponse response) throws IOException { EntityWrapper<LbjZk> entityWrapper = new EntityWrapper<LbjZk>(entityClass); propertyPreFilterable.addQueryProperty("id"); propertyPreFilterable.addQueryProperty("name"); Integer page= Integer.parseInt(request.getParameter("page").toString()); Integer rows= Integer.parseInt(request.getParameter("rows").toString()); // 預處理 queryable.setPageable(new PageRequest(page, rows)); QueryableConvertUtils.convertQueryValueToEntityValue(queryable, entityClass); SerializeFilter filter = propertyPreFilterable.constructFilter(entityClass); PageJson<LbjZk> pagejson = new PageJson<LbjZk>(lbjZkService.list(queryable,entityWrapper)); String content = JSON.toJSONString(pagejson, filter); StringUtils.printJson(response, content); }
PageJson分頁工具類:
package com.railway.core.model; import java.io.Serializable; import java.util.List; import com.railway.core.query.data.Page; /** * 頁面展示分頁 * * @author lyy * * @param <T> */ public class PageJson<T> implements Serializable { private static final long serialVersionUID = 1L; private long page = 1;// 當前頁 private long rows = 10;// 每頁顯示記錄數 private long total; // 總數 private long totalPages; // 總頁數 private List<T> results; // 結果 public PageJson() { } public PageJson(List<T> results) { this(0, Long.MAX_VALUE, Long.MAX_VALUE, results); } public PageJson(Page<T> page) { this(page.getNumber(), page.getSize(), page.getTotalElements(), page.getContent()); } public PageJson(long page, long rows, long total, List<T> results) { this.page = page; this.rows = rows; this.total = total; this.results = results; this.totalPages = getRows() == 0 ? 1 : (int) Math.ceil((double) total / (double) getRows()); } public long getPage() { return page; } public void setPage(long page) { this.page = page; } public long getRows() { return rows; } public void setRows(long rows) { this.rows = rows; } public long getTotal() { return total; } public void setTotal(long total) { this.total = total; } public long getTotalPages() { return totalPages; } public List<T> getResults() { return results; } public void setResults(List<T> results) { this.results = results; } }
以上就是關于“Java怎么使用Queryable-pageable實現分頁效果”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。