這是spring boot集合mybatis的分頁查詢。html
pom依賴:java
<!-- 分頁插件 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.1.0</version> </dependency>
往spring容器注入一個Bean,寫在main方法下面就行,或者另外寫個類,加上註解@Configuration,被spring boot容器掃描到就行:mysql
@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。git
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; } }
寫一個分頁類,繼承上面個抽象類github
import *.AbstractPageForm;//換成本身的包 public class TestPage extends AbstractPageForm<TestPage>{ /** * */ private static final long serialVersionUID = 1L; }
查詢方法:spring
public PageInfo selectAll() { TestPage TestPage = new TestnPage(); List<Test> selectAll = TestMapper.selectAll(TestPage.enablePaging()); PageInfo<Test> pageInfo = new PageInfo<>(selectAll); return pageInfo; }