zoukankan      html  css  js  c++  java
  • SpringBoot集成pagehelper分页

    SpringBoot集成pagehelper分页

    1.添加pagehelper包:

    <!--pagehelper -->
    <dependency>
      <groupId>com.github.pagehelper</groupId>
      <artifactId>pagehelper-spring-boot-starter</artifactId>
      <version>1.2.3</version>
    </dependency>

    2.yml配置文件中添加配置:

    #pagehelper
    pagehelper:
      helper-dialect: mysql
      reasonable: false
      supportMethodsArguments: true
      pageSizeZero: false
      params: count=countSql

    3.Service中添加代码:

    @Override
    public Page<LogModel> pageList(LogModel record, int pageNum, int pageSize) {
        PageHelper.startPage(pageNum, pageSize);
        return iLogDao.pageList(record);
    }
    PageHelper是通用,会在执行pageList sql 之前执行count语句。
    pageNum页码
    pageSize每页显示条数
    record查询条件
    pageList的查询语句跟普通的list查询无异。

    4.PageInfo:
    PageInfo可以使用PageHelper的,也可以自己定义。主要是定义返回的数据结构的。
    我前端使用的是LayUI,返回的数据结构是自己定义的。
    import java.io.Serializable;
    import java.util.Collection;
    import java.util.List;
    
    import com.github.pagehelper.Page;
    
    public class PageInfo<T> implements Serializable{
        private static final long serialVersionUID = 6502920935250686910L;
    
        private int pageNum;
        private int pageSize;
        private long total;
        private int pages;
        private List<T> datas;
        private boolean isFirstPage = false;
        private boolean isLastPage = false;
        
        private int status = 0;
        
        public PageInfo() {
            super();
        }
        public PageInfo(List<T> list) {
            if(list instanceof Page) {
                Page<T> page = (Page<T>) list;
                this.pageNum = page.getPageNum();
                this.pageSize = page.getPageSize();
                this.pages = page.getPages();
                this.total = page.getTotal();
                
                this.datas = page;
            } else if (list instanceof Collection) {
                this.pageNum = 1;
                this.pageSize = list.size();
                this.pages = 1;
                this.total = list.size();
                
                this.datas = list;
            }
            if(list instanceof Collection) {
                judgePageBoudary();
            }
        }
        
        /**
         * 判定页面边界
         */
        private void judgePageBoudary() {
            this.isFirstPage = this.pageNum == 1;
            this.isLastPage = pageNum == pages;
        }
        
        public int getPageNum() {
            return pageNum;
        }
        public void setPageNum(int pageNum) {
            this.pageNum = pageNum;
        }
        public int getPageSize() {
            return pageSize;
        }
        public void setPageSize(int pageSize) {
            this.pageSize = pageSize;
        }
        public long getTotal() {
            return total;
        }
        public void setTotal(long total) {
            this.total = total;
        }
        public int getPages() {
            return pages;
        }
        public void setPages(int pages) {
            this.pages = pages;
        }
        public List<T> getDatas() {
            return datas;
        }
        public void setDatas(List<T> datas) {
            this.datas = datas;
        }
        public boolean isFirstPage() {
            return isFirstPage;
        }
        public void setFirstPage(boolean isFirstPage) {
            this.isFirstPage = isFirstPage;
        }
        public boolean isLastPage() {
            return isLastPage;
        }
        public void setLastPage(boolean isLastPage) {
            this.isLastPage = isLastPage;
        }
        public int getStatus() {
            return status;
        }
        public void setStatus(int status) {
            this.status = status;
        }
    }

    5.Controller:

    @RequestMapping(value = "/user/pageList", method = RequestMethod.GET)
    @ResponseBody
    public Object pageList(HttpServletRequest request, UserModel model,
                @RequestParam int pageNum, @RequestParam int pageSize) {
        List<UserModel> list = iUserService.pageList(model, pageNum, pageSize);
        PageInfo<UserModel> pageInfo = new PageInfo<UserModel>(list);
        return pageInfo;
    }

    SpringBoot集成PageHelper分页完成。
  • 相关阅读:
    第三章:软件也要拼脸蛋-UI 开发的点点滴滴
    第二章:先从看得到的入手-探究活动
    第一章:开始启程-你的第一行Android代码
    367. Valid Perfect Square
    逆向工程
    lombok日志包的使用
    Mysql(一)
    数据库
    mvc+三层架构
    Maven
  • 原文地址:https://www.cnblogs.com/se7end/p/9598669.html
Copyright © 2011-2022 走看看