正好做到分頁(yè)航揉,原來的分頁(yè)都是用mysql的limit自己去分頁(yè)趴久,現(xiàn)在發(fā)現(xiàn)PageHelper這個(gè)工具確實(shí)方便,就加到項(xiàng)目里面來了菩浙。
首先我加入的是
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.1.2</version>
</dependency>
然后寫個(gè)Bean蚤蔓,并讓spring掃描
import com.github.pagehelper.PageHelper;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
import java.util.Properties;
@Component
public class PageHelperConfig {
@Bean
public PageHelper pageHelper(){
PageHelper pageHelper = new PageHelper();
Properties properties = new Properties();
properties.setProperty("offsetAsPageNum","true");
properties.setProperty("rowBoundsWithCount","true");
properties.setProperty("reasonable","true");
//配置mysql數(shù)據(jù)庫(kù)的方言
properties.setProperty("dialect","mysql");
pageHelper.setProperties(properties);
return pageHelper;
}
}
之后就可以在service中用了
public PageInfo<UploadClient> findUploadAllFile(Integer clientUserId, int pageNum) {
//pageNum頁(yè)碼,Const.PAGE_SIZE洒嗤,每頁(yè)多少條記錄
PageHelper.startPage(pageNum, Const.PAGE_SIZE);
List<UploadClient> list = welcommeDao.findUploadAllFile(clientUserId);
PageInfo<UploadClient> pageInfo = new PageInfo<UploadClient>(list);
//獲取總記錄數(shù)
long total = pageInfo.getTotal();
System.out.println("共有上傳信息信息:" + total);
return pageInfo;
}
看上圖中l(wèi)ist讀出來的size是10個(gè)逗余,就是我們?cè)O(shè)定的每頁(yè)顯示數(shù)據(jù)呼巴。
total是14個(gè)茁肠,是數(shù)據(jù)庫(kù)里面的數(shù)量患民。
注意:
PageHelper.startPage(pageNum, Const.PAGE_SIZE);
List<UploadClient> list = welcommeDao.findUploadAllFile(clientUserId);
PageHelper.startPage(pageNum, Const.PAGE_SIZE);
放在查詢語句上面一行,不然不一定會(huì)是正確的結(jié)果垦梆。
還有注意的是maven中引用
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.0.1</version>
</dependency>
我這邊測(cè)試PageHelper.startPage(pageNum, Const.PAGE_SIZE);
沒生效匹颤。
到此為止,PageHelper配置也方便奶赔,使用也方便