Java怎么使用Queryable-pageable实现分页效果
生活随笔
收集整理的這篇文章主要介紹了
Java怎么使用Queryable-pageable实现分页效果
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這篇“Java怎么使用Queryable-pageable實現分頁效果”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Java怎么使用Queryable-pageable實現分頁效果”文章吧。
在維護老項目的時候需要對部分分頁進行手動修改、方式是獲取前端的分頁參數page以及rows、new PageRequest對象把分頁參數傳進去、通過queryable.setPageable(pageable);保存、最后進行調用。
完整代碼如下:
@ResponseBody
@RequestMapping(value="getLbjzkList",method=RequestMethod.GET)
@PageableDefaults(sort="id=desc")
privatevoidajaxList(Queryablequeryable,PropertyPreFilterablepropertyPreFilterable,HttpServletRequestrequest,
HttpServletResponseresponse)throwsIOException{
EntityWrapper<LbjZk>entityWrapper=newEntityWrapper<LbjZk>(entityClass);
propertyPreFilterable.addQueryProperty("id");
propertyPreFilterable.addQueryProperty("name");
Integerpage=Integer.parseInt(request.getParameter("page").toString());
Integerrows=Integer.parseInt(request.getParameter("rows").toString());
//預處理
queryable.setPageable(newPageRequest(page,rows));
QueryableConvertUtils.convertQueryValueToEntityValue(queryable,entityClass);
SerializeFilterfilter=propertyPreFilterable.constructFilter(entityClass);
PageJson<LbjZk>pagejson=newPageJson<LbjZk>(lbjZkService.list(queryable,entityWrapper));
Stringcontent=JSON.toJSONString(pagejson,filter);
StringUtils.printJson(response,content);
}
PageJson分頁工具類:
packagecom.railway.core.model;
importjava.io.Serializable;
importjava.util.List;
importcom.railway.core.query.data.Page;
/**
*頁面展示分頁
*
*@authorlyy
*
*@param<T>
*/
publicclassPageJson<T>implementsSerializable{
privatestaticfinallongserialVersionUID=1L;
privatelongpage=1;//當前頁
privatelongrows=10;//每頁顯示記錄數
privatelongtotal;//總數
privatelongtotalPages;//總頁數
privateList<T>results;//結果
publicPageJson(){
}
publicPageJson(List<T>results){
this(0,Long.MAX_VALUE,Long.MAX_VALUE,results);
}
publicPageJson(Page<T>page){
this(page.getNumber(),page.getSize(),page.getTotalElements(),page.getContent());
}
publicPageJson(longpage,longrows,longtotal,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());
}
publiclonggetPage(){
returnpage;
}
publicvoidsetPage(longpage){
this.page=page;
}
publiclonggetRows(){
returnrows;
}
publicvoidsetRows(longrows){
this.rows=rows;
}
publiclonggetTotal(){
returntotal;
}
publicvoidsetTotal(longtotal){
this.total=total;
}
publiclonggetTotalPages(){
returntotalPages;
}
publicList<T>getResults(){
returnresults;
}
publicvoidsetResults(List<T>results){
this.results=results;
}
}
總結
以上是生活随笔為你收集整理的Java怎么使用Queryable-pageable实现分页效果的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 股票中的基建是什么意思
- 下一篇: 足银999.9和足银999的区别 足银9