引入依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.1.6</version>
</dependency>
配置
@SpringBootApplication
public class ThreesillyApplication {
public static void main(String[] args) {
SpringApplication.run(ThreesillyApplication.class, args);
}
//配置mybatis的分页插件pageHelper
@Bean
public PageHelper pageHelper() {
PageHelper pageHelper = new PageHelper();
Properties properties = new Properties();
properties.setProperty("offsetAsPageNum","true");
properties.setProperty("rowBoundsWithCount","true");
properties.setProperty("reasonable","true");
properties.setProperty("dialect","mysql");
pageHelper.setProperties(properties);
return pageHelper;
}
}
新建一个分页Bean
package com.snow.threesilly.entity;
import java.util.List;
/**
* 分页Bean
*
* @author snow
*
* @since 2018年2月16日
*
* @version 1.0
*/
public class PageBean<T> {
//当前页
private Integer currentPage = 1;
//每页显示的总条数
private Integer pageSize = 10;
//总条数
private Integer totalNum;
//是否有下一页
private Integer isMore;
//总页数
private Integer totalPage;
//开始索引
private Integer startIndex;
//分页结果
private List<T> items;
public PageBean() {
super();
}
public PageBean(Integer currentPage, Integer pageSize, Integer totalNum) {
super();
this.currentPage = currentPage;
this.pageSize = pageSize;
this.totalNum = totalNum;
this.totalPage = (this.totalNum + this.pageSize-1) / this.pageSize;
this.startIndex = (this.currentPage - 1) * this.pageSize;
this.isMore = this.currentPage >= this.totalPage ? 0 : 1;
}
public Integer getCurrentPage() {
return currentPage;
}
public void setCurrentPage(Integer currentPage) {
this.currentPage = currentPage;
}
public Integer getPageSize() {
return pageSize;
}
public void setPageSize(Integer pageSize) {
this.pageSize = pageSize;
}
public Integer getTotalNum() {
return totalNum;
}
public void setTotalNum(Integer totalNum) {
this.totalNum = totalNum;
}
public Integer getIsMore() {
return isMore;
}
public void setIsMore(Integer isMore) {
this.isMore = isMore;
}
public Integer getTotalPage() {
return totalPage;
}
public void setTotalPage(Integer totalPage) {
this.totalPage = totalPage;
}
public Integer getStartIndex() {
return startIndex;
}
public void setStartIndex(Integer startIndex) {
this.startIndex = startIndex;
}
public List<T> getItems() {
return items;
}
public void setItems(List<T> items) {
this.items = items;
}
}
使用(service层)
public List<LiveTv> queryAll(LiveTv liveTv) {
//该语句需在查询语句前面才能生效,接收的参数为起始页和每页显示数
PageHelper.startPage(liveTv.getCurrentPage(), liveTv.getPageSize());
//查询数据
List<LiveTv> liveList = liveTvMapper.queryAll(liveTv);
//进行分页。起始页、每页数、数据总数
PageBean<LiveTv> pb = new PageBean<>(liveTv.getCurrentPage(), liveTv.getPageSize(), liveList.size());
pb.setItems(liveList);
return pb.getItems();
}