1. 程式人生 > 程式設計 >MyBatis基於pagehelper實現分頁原理及程式碼例項

MyBatis基於pagehelper實現分頁原理及程式碼例項

使用pagehelper分頁的原理是:

通過MyBatis的外掛原理(類似web裡的filter攔截器),在mapper配置檔案將pagehelper註冊為MyBatis的外掛,從而進行分頁

1.通過maven引入pagehelper依賴:

<!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper -->
<dependency>
  <groupId>com.github.pagehelper</groupId>
  <artifactId>pagehelper</artifactId>
  <version>5.1.11</version>
</dependency>

2.在MyBatis的mapper配置檔案將pagehelper註冊為MyBatis的外掛

   <plugins>
    <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
  </plugins>

3.pagehelper的用法:

private void selectAllUsers(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException
  {

    String num=request.getParameter("num");

    if(null==num)
    {
      num="1";
    }

    // Page PageInfo

    Page<?> page=PageHelper.startPage(Integer.parseInt(num),5); //設定第幾條記錄開始,多少條記錄為一頁

    //通過userService獲取user的資訊,其sql語句為"select * from user" 但因pagehelp已經註冊為外掛,所以pagehelp會在原sql語句上增加limit,從而實現分頁
    List<Person> persons=userService.getAllUsersBypageHelper(); //因而獲得的是分好頁的結果集
     
    PageInfo<?> pageHelper=page.toPageInfo(); //獲取頁面資訊的物件,裡面封裝了許多頁面的資訊 如:總條數,當前頁碼,需顯示的導航頁等等

    request.setAttribute("persons",persons);
    request.setAttribute("pagehelper",pageHelper);

    request.getRequestDispatcher("/persons.jsp").forward(request,response);

  }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。