后端 PageHelper 分页插件:
(PageHelper 是一个 MyBatis 的分页插件)
1、添加依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
2、配置分页插件
修改 配置文件,如下配置:
pagehelper.reasonable=true
pagehelper.page-size-zero=true
3、实现分页
1.2.3、实现分页
-
Mapper.xml 文件中无需写代码查询数量
-
分页查询的 SQL 中无需写 Limit 子句,也不需要提供 getStart 方法了
-
使用分页插件提供的 PageInfo 类进行封装,不需要我们自己再定义 PageResult 类了
public PageInfo<Department> query(QueryObject qo) { // 使用分页插件,传入当前页,每页显示数量 PageHelper.startPage(qo.getCurrentPage(), qo.getPageSize()); // (当前页,每页显示数量) List<Department> departments = departmentMapper.selectForList(qo); return new PageInfo(departments); }
前端 twbs-pagination 分页插件
twbs-pagination 是一个简单的自适应 Bootstrap 样式的分页插件,用于前端绘制分页相关的样式效果
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KkKKPEp7-1661342597685)(E:\培训资料《数据中心》\04_项目1阶段\day03 可商用权限控制系统\day03 可商用权限控制系统\图\image-20200707101324832.png)]
$(function(){
var totalPages = /*[[${pageInfo.pages}]]*/ 1;
var startPage = /*[[${pageInfo.pageNum}]]*/ 1;
$('#pagination').twbsPagination({
totalPages: totalPages,
startPage: startPage,
first:'首页',
prev:'上一页',
next:'下一页',
last:'尾页',
visiblePages: 5,
onPageClick: function (event, page) {
$('#currentPage').val(page);
$('#searchForm').submit();
}
});
});