關于分頁插件的使用其實很簡單,隻需要導入一下幾個配置。
導入依賴PageHelper
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>3.4.2</version>
</dependency>
<dependency>
<groupId>com.github.jsqlparser</groupId>
<artifactId>jsqlparser</artifactId>
<version>0.9.1</version>
</dependency>
這個配置是在mybatis的核心配置晚間中配置。(前提是其他的配置檔案都已經搭建完成)
<plugins>
<plugin interceptor="com.github.pagehelper.PageHelper">
<property name="dialect" value="mysql"/>
<property name="offsetAsPageNum" value="false"/>
<property name="rowBoundsWithCount" value="false"/>
<property name="pageSizeZero" value="true"/>
<property name="reasonable" value="false"/>
<property name="supportMethodsArguments" value="false"/>
<property name="returnPageInfo" value="none"/>
</plugin>
</plugins>
編寫接口,這裡我的接口是通過名稱模糊查詢資料
List<Employee> pageInfo(@Param("lastName") String lastName);
myabtis的sql語句
<select id="pageInfo" resultType="com.springboot.mybatisdemo.bean.Employee">
SELECT * FROM employee where lastName like '%' #{lastName} '%'
</select>
這裡我沒有使用service,直接在controller中完成的
@RequestMapping("/pages/{lastName}/{currPage}/{pageSize}")
public PageInfo<Employee> lists(@PathVariable("lastName") String lastName, @PathVariable("currPage") int currPage,
@PathVariable("pageSize") int pageSize){
PageHelper.startPage(currPage,pageSize,true);//目前頁,每頁顯示條數
List<Employee> list = employeeMapper.pageInfo(lastName);
PageInfo<Employee> PageInfo = new PageInfo<Employee>(list);//使用插件自動分頁
System.out.println(PageInfo.getTotal()+"總頁數");
System.out.println(PageInfo.getPageSize()+"每頁顯示數");
return PageInfo;
}
重點就是PageInfo<T> 它會幫助我們自動的完成分頁.
結果
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL1EkaOFzZq1UNNpHW4Z0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL3MzMxETMxQTMzAzNwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
關于Mybatis分頁插件PageHelper的使用
總結
總的來說這種方式的分頁确實很簡單,抛去了原來JavaEE的一些算法還有判斷,簡化了編碼。