PageHelper分页

2020-05-17  本文已影响0人  salix_

环境:springboot+mybatis+maven+yaml配置+前端用thymleaf模板(其实环境不太一样也可以,我觉得我这种方法很简单)

1.pom.xml添加依赖
<dependency>
          <groupId>com.github.pagehelper</groupId>
          <artifactId>pagehelper-spring-boot-starter</artifactId>
          <version>1.2.13</version>
</dependency>
2.配置application.yaml
#配置分页
pagehelper:
  helperDialect: mysql
  reasonable: true
  supportMethodsArguments: true
  params: count=countSql
3.controller写分页代码
  1. currentPage是当前页,pageSize是当前页的限制大小
  2. List<Type> list = typeService.listPage();是从数据库中获取所有的数据行,这个时候还没有分页。
  3. 然后如果list!=null。这个时候就把list放到PageInfo类型的变量中,然后才从PageInfo中获得list,就完成了分页。
  4. 把list返回前端。
@RequestMapping("/type")
    public ModelAndView getTypes(@RequestParam(defaultValue = "1") Integer currentPage,
                                   @RequestParam(defaultValue = "1") Integer pageSize){
            ModelAndView model = new ModelAndView();
            //1.开启分页
            PageHelper.startPage(currentPage,pageSize);
            List<Type> list = typeService.listPage();
            //封装list到PageInfo对象中,自动分页
            PageInfo<Type> typePageInfo = null;
            if(list!=null){
                typePageInfo =  new PageInfo<>(list);
                list = typePageInfo.getList();
            }
            model.addObject("list",list);
            model.setViewName("admin/types");
            return model;
        }
4.前端
       <table >
            <thead>
            <tr><th>名称</th>
                <th>操作</th>
            </tr></thead>
            <tbody>
            <tr th:each="temp: ${list}">
                <td th:text="${temp.name}"></td>
                <td>
                    <a href="#" class="ui mini teal basic button">编辑</a>
                    <a href="#" class="ui mini red basic button">删除</a>
                </td>
            </tr>
            </tbody>
        </table>
5.结果
上一篇下一篇

猜你喜欢

热点阅读