Spring Boot + pageHelper 实现简单分页 前后端
Posted 红尘沙漏
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot + pageHelper 实现简单分页 前后端相关的知识,希望对你有一定的参考价值。
准备环境
pow.xml导入依赖
<!-- 增加对PageHelper的支持 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.1.6</version> </dependency>
编写PageHelperConfig类
PageHelperConfig类的作用就是:开启一些我们需要的功能。
需要的功能看注解。
import java.util.Properties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import com.github.pagehelper.PageHelper; @Configuration public class PageHelperConfig @Bean public PageHelper pageHelper() PageHelper pageHelper = new PageHelper(); Properties p = new Properties(); //1.offsetAsPageNum:设置为true时,会将RowBounds第一个参数offset当成pageNum页码使用. p.setProperty("offsetAsPageNum", "true"); //2.rowBoundsWithCount:设置为true时,使用RowBounds分页会进行count查询. p.setProperty("rowBoundsWithCount", "true"); //3.reasonable:启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页。 p.setProperty("reasonable", "true"); pageHelper.setProperties(p); return pageHelper;
后端Controller代码
后端Controller的作用就是:获取分页信息,然后传入前端。
PageInfo对象里面包含了我们分页所需要的所有信息:像是前一页页码,前一页有没有,一共多少页,当前页的页码等等,都有。
@Autowired private UserMapper userMapper; @RequestMapping("/index") public String selectUser(Model model, Integer selectId, @RequestParam(value="currentPage",defaultValue="1")int currentPage, @RequestParam(value = "size", defaultValue = "5") int size) throws Exception //1. 在参数里接受当前是第几页 start ,以及每页显示多少条数据 size。 默认值分别是1和5。 //2. 根据start,size进行分页 PageHelper.startPage(currentPage,5); //3. 因为PageHelper的作用,这里就会返回当前分页的集合了 List<User> cs=new LinkedList<User>(); cs = userMapper.findAllUser(); //4. 根据返回的集合,创建PageInfo对象 PageInfo<User> page = new PageInfo<>(cs); //5. 把PageInfo对象扔进model,以供后续显示 System.out.println(page); model.addAttribute("users",page.getList()); model.addAttribute("page", page); //6. 跳转到html return "selectUser";
编写前端代码
前端代码作用就是获取后端传入的信息,并将他展示
<div align="center" class="container-fluid" > <table class="table"> <tr> <th>用户编号</th> <th>用户名字</th> <th>生日</th> <th>性别</th> <th>地址</th> <th>操作</th> </tr> <tr th:each="user:$users"> <td th:text="$user.id">空</td> <td th:text="$user.userName">空</td> <td th:text="$user.birthday ">空</td> <td th:text="$user.sex">空</td> <td th:text="$user.address">空</td> <td> <a th:href="@/toUpdateUser(id=$user.id)">修改</a> <a onclick="return confirm(\'确定删除吗?\')" th:href="@/deleteUser(id=$user.id)">删除</a> </td> </tr> </table> <br> <div > <nav aria-label="Page navigation example "> <ul class="pagination justify-content-center"> <li class="page-item"> <a class="page-link disabled" th:text="\'共 \'+ $page.getPages()+ \' 页\'"> <!-- <b > </b>--> </a> </li> <li class="page-item"> <a class="page-link" th:href="@/index(currentPage=$page.getFirstPage())" href="#">首页</a> </li> <li class="page-item"> <a class="page-link" th:if="$page.hasPreviousPage == true" th:href="@/index(currentPage=$page.getPrePage())" href="#" th:text="$page.prePage+\' \'" >上一页</a> </li> <li class="page-item active"> <a class="page-link" href="#" th:text="$page.pageNum+\' \'" th:href="@\'/index?currentPage=\' + $page.pageNum" /> </li> <li class="page-item" > <a class="page-link" href="#" th:if="$page.hasNextPage == true" th:href="@/index(currentPage=$page.getNextPage())" th:text="$page.nextPage+\' \'" >下一页</a> </li> <li class="page-item" > <a class="page-link" href="#" th:href="@/index(currentPage=$page.getLastPage())">尾页</a> </li> </ul> </nav> </div> <br> </div>
原文地址:https://www.cnblogs.com/kingwz/p/16745250.html
以上是关于Spring Boot + pageHelper 实现简单分页 前后端的主要内容,如果未能解决你的问题,请参考以下文章
Spring boot??????????????????Spring boot??????MySql,Mybatis???PageHelper??????