pom
注意 ,这两个依赖会有版本冲突问题
com.github.pagehelper
pagehelper-spring-boot-starter
1.2.3
org.mybatis.spring.boot
mybatis-spring-boot-starter
1.3.2
propreties配置文件
pagehelper.helper-dialect=mysql
pagehelper.reasonable=true
pagehelper.support-methods-arguments=true
pagehelper.params=count=countSql
模板类
负责储存展示的内容,和分页信息
package com.example.demo.model;
import com.github.pagehelper.PageInfo;
import lombok.Data;
import java.util.List;
@Data
public class PageClass {
private PageInfo pageInfo;
private List bookList;
public PageClass(PageInfo pageInfo, List bookList) {
this.pageInfo = pageInfo;
this.bookList = bookList;
}
}
数据层
唯一作用就是查询所有的数据然后交给servcie做分页处理
@Select("select * from book")
List selectBook();
业务层
public PageClass getList(int pageNum, int pageSize) {
//使用分页插件,核心代码就这一行
PageHelper.startPage(pageNum, pageSize);
List bookList = bookDao.selectBook();
//上面返回的结果集做分页信息参数
PageInfo page = new PageInfo(bookList);
PageClass pageClass = new PageClass(page,bookList);
//打印下属性
log.info("当前页数:"+page.getPageNum());
log.info("每页数量:"+page.getPageSize());
log.info("当前页面数量:"+page.getSize());
log.info("总记录数:"+page.getTotal());
log.info("总页数:"+page.getPages());
return pageClass;
}
控制层
@GetMapping("/itemsPage")
public String itemsPage(@RequestParam(value="currentPage", defaultValue="1") int currentPage,@RequestParam(value="pageSize", defaultValue="30") int pageSize ,ModelMap map){
map.addAttribute("pages",bookServiceImpl.getList(currentPage, pageSize));
return "pageSelect";
}
前端模板页
${bookMsg.id} | ${bookMsg.name} | ${bookMsg.pid} |
#list>
第${index}页
#list>
效果图
image.png
image.png