天天看点

mysql分页插件springboot_springboot - 分页插件的使用

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>

效果图

mysql分页插件springboot_springboot - 分页插件的使用

image.png

mysql分页插件springboot_springboot - 分页插件的使用

image.png