1.pom.xml引入依賴 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.11</version> </dependency> 2.myba ...
1.pom.xml引入依賴
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.11</version>
</dependency>
2.mybatis-config.xml配置分頁插件
在 MyBatis 的配置文件中添加 PageHelper 的插件:
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<property name="helperDialect" value="mysql"/>
</plugin>
</plugins>
註意:
com.github.pagehelper.PageInterceptor
是 PageHelper 插件的名稱,helperDialect
屬性用於指定資料庫類型(支持多種資料庫)
3.分頁插件使用
在查詢方法中使用分頁:
@Test
@Test
public void testPage(){
SqlSession sqlSession = sqlSessionUtil.getSqlSession();
EmpMapper mapper = sqlSession.getMapper( EmpMapper.class);
//TODO:註意不能將兩條及以上查詢語句加到分頁區
//查誨功能之前開啟分頁功能
Page<object> page = PageHelper.startPage( pageNum: 1,pageSize: 4);
List<Emp> list = mapper.selectByExample(nu1l);
//查詢功能之後可以獲取分頁相關的所有數據
PageInfo<Emp> pageInfo = new PageInfo<>(list, navigatePages: 5);
list.forEach(System.out::println);
System.out.println("總記錄數:" + pageInfo.getTotal());
System.out.println("總頁數:" + pageInfo.getPages());
System.out.println("當前頁碼:" + pageInfo.getPageNum());
System.out.println("每頁顯示的記錄數:" + pageInfo.getPageSize());
System.out.println(pageInfo);
}
4.分頁相關數據描述
PageInfo{
pageNum=8, pageSize=4, size=2, startRow=29, endRow=30, total=30, pages=8,
list=Page{count=true, pageNum=8, pageSize=4, startRow=28, endRow=32, total=30,pages=8, reasonable=false, pageSizeZero=false},
prePage=7, 上一頁
nextPage=0, 下一頁
isFirstPage=false, 是否是第一頁
isLastPage=true, 是否是最後一頁
hasPreviousPage=true, 是否有上一頁
hasNextPage=false, 是否有下一頁
navigatePages=5, 導航分頁的頁碼數
navigateFirstPage=4, 導航分頁的首位頁碼
navigateLastPage=8, 導航分頁的末尾頁碼
navigatepageNums=[4, 5, 6, 7, 8] 導航分頁的頁碼
}
常用數據:
pageNum:當前頁的頁碼
pageSize:每頁顯示的條數
size:當前頁顯示的真實條數
total:總記錄數
pages:總頁數
prePage:上一頁的頁碼
nextPage:下一頁的頁碼
isFirstPage/isLastPage:是否為第一頁/最後一頁
hasPreviousPage/hasNextPage:是否存在上一頁/下一頁
navigatePages:導航分頁的頁碼數
navigatepageNums:導航分頁的頁碼,[1,2,3,4,5]