這是spring boot集合mybatis的分頁查詢。
pom依賴:
<!-- 分頁插件 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.1.0</version> </dependency>
往spring容器注入一個Bean,寫在main方法下面就行,或者另外寫個類,加上注解@Configuration,被spring boot容器掃描到就行:
@Bean
public PageHelper pageHelper() {
PageHelper pageHelper = new PageHelper();
Properties p = new Properties();
p.setProperty("offsetAsPageNum", "true");
p.setProperty("rowBoundsWithCount", "true");
p.setProperty("reasonable", "true");
p.setProperty("dialect", "mysql");
p.setProperty("supportMethodsArguments", "false");
p.setProperty("pageSizeZero", "true");
pageHelper.setProperties(p);
return pageHelper;
}
創建一個抽象類,分頁類需要繼承這個抽象類AbstractPageForm。
import java.io.Serializable;
import com.github.pagehelper.PageHelper;
public abstract class AbstractPageForm<T extends AbstractPageForm<T>> implements Serializable {
private static final long serialVersionUID = 1L;
/**
* @Description 頁碼為首頁
*/
protected int pageNum = 1;
/**
* @Description 每頁顯示數量,默認為10
*/
protected int pageSize = 10;
public int getPageNum() {
return pageNum;
}
public void setPageNum(int pageNum) {
this.pageNum = pageNum;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
/**
* @Title enablePaging
* @Description 啟用分頁
* @return
*/
@SuppressWarnings("unchecked")
public final T enablePaging() {
PageHelper.startPage(pageNum, pageSize);
return (T) this;
}
}
寫一個分頁類,繼承上面個抽象類
import *.AbstractPageForm;//換成自己的包
public class TestPage extends AbstractPageForm<TestPage>{
/**
*
*/
private static final long serialVersionUID = 1L;
}
查詢方法:
public PageInfo selectAll() {
TestPage TestPage = new TestnPage();
List<Test> selectAll = TestMapper.selectAll(TestPage.enablePaging());
PageInfo<Test> pageInfo = new PageInfo<>(selectAll);
return pageInfo;
}
