在數據庫服務器中,sql語句實現分頁便要每個查詢語句都要寫上limit(開始,結束),并且不能靈活的隨前端變化,為此使用攔截器的方法,過程:攔截器攔截請求的sql語句(根據需要攔截的ID(正則匹配),進行攔截),并對根據前端傳過來的頁數,和每頁的條數,計算出limit(開始,結束),總條數,然后,拼接到sql語句后邊。其中這個處理過程,已經封裝到了,分頁插件中,可以不用理解,直接使用。
mybatis查詢分頁---使用pageHelper插件
之前在spring+springmvc由于整個大多都是xml的配置,在使用spring-boot后,需要進行分頁,
也希望能夠減少xml的配置以及新建很多分頁的相關類,找到了pageHelper這個插件,
分頁起來非常方便
page類
新建一個page< T > 用來接收分頁信息
/** * @Author xuelongjiang */public class Page<T> { private Integer pageNo = 0; private Integer pageSize = 10; private T t; public Integer getPageNo() { return pageNo; } public void setPageNo(Integer pageNo) { this.pageNo = pageNo; } public Integer getPageSize() { return pageSize; } public void setPageSize(Integer pageSize) { this.pageSize = pageSize; } public T getT() { return t; } public void setT(T t) { this.t = t; }}
引入依賴
<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.3</version> </dependency>
springboot屬性文件增加pageHelper配置
這里使用的是yml(可讀性很強,也能少敲些鍵盤,愛護一下我們可愛的鍵盤^-^)的方式,
pagehelper: helperDialect: mysql reasonable: true
使用pageHelper 進行分頁
public PageInfo<AnswerQuestionDTO> answerAndQuestionDetailByPage(Page<AnswerQuestionDTO> page){//使用page保包裝我們的類
PageHelper.startPage(page.getPageNo(),page.getPageSize());//設置分頁相關值 List<AnswerQuestionDTO> answerQuestionDTOList = answerAndQuestionDao.answerAndQuestionDetailList(page.getT());//查詢 PageInfo<AnswerQuestionDTO> pageInfo = new PageInfo<>(answerQuestionDTOList);//包裝為分頁結果 return pageInfo;}
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。
新聞熱點
疑難解答
圖片精選