天天看點

SpringBoot項目引入分頁助手插件

前言:SpringCloud的分布式項目也同理在Service層所在項目中進行如下操作

在業務層(Service層)中引入如下依賴:

<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.12</version>
</dependency>
           

修改配置檔案application.properties:

pagehelper.helperDialect.reasonable=true
pagehelper.helperDialect.supportMethodsArguments=true
pagehelper.helperDialect.params:count=countSql
           

配置說明:

  • reasonable:分頁合理化參數,預設值為false。當該參數設定為 true 時,pageNum<=0 時會查詢第一頁,pageNum>pages(超過總數時),會查詢最後一頁。預設false 時,直接根據參數進行查詢。
  • supportMethodsArguments:支援通過 Mapper 接口參數來傳遞分頁參數,預設值false,分頁插件會從查詢方法的參數值中,自動根據上面 params 配置的字段中取值,查找到合适的值時就會自動分頁。 使用方法可以參考測試代碼中的 com.github.pagehelper.test.basic 包下的 ArgumentsMapTest 和 ArgumentsObjTest。
  • params:為了支援startPage(Object params)方法,增加了該參數來配置參數映射,用于從對象中根據屬性名取值, 可以配置 pageNum,pageSize,count,pageSizeZero,reasonable,不配置映射的用預設值, 預設值為pageNum=pageNum;pageSize=pageSize;count=countSql;reasonable=reasonable;pageSizeZero=pageSizeZero。

在控制器中使用分頁助手

@RequestMapping("/test")
public void test(Integer page, Integer pageSize) {
	// 設定分頁資訊,參數一代表從第幾頁開始查詢,參數二代表每頁查詢的記錄數
	PageHelper.startPage(page, pageSize);
	List<TestItem> list = testService.findTestItem();
	PageInfo<TestItem> pageInfo = new PageInfo<TestItem>(list);
	for (TestItem testItem : pageInfo.getList()) {
		System.out.println(testItem);
	}
	System.out.println("目前頁:" + pageInfo.getPageNum());
	System.out.println("每頁顯示記錄數:" + pageInfo.getPageSize());
	System.out.println("總頁數:" + pageInfo.getPages());
}
           

前端傳回結果大緻如下:

SpringBoot項目引入分頁助手插件