zoukankan      html  css  js  c++  java
  • springboot mybatis 使用 pageHelper

    pagehelper 做分页用

    1.引入依赖包

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

    2.配置pagehelper

    pagehelper:
      helperDialect: mysql
      reasonable: false  #开启优化,如果开启优化,在分页页码结果没有数据的时候,会显示有数据的页码数据
      supportMethodsArguments: true #是否支持接口参数来传递分页参数,默认false
      pageSizeZero: false #pageSize=0 返回所有
      params: count=countSql
    

    3.引用

     
    @Service
    public class SysUserServiceImpl implements SysUserService {
    
        @Resource
        SysUserMapper sysUserMapper;
    
        //@Cacheable(cacheNames = "listSysUser")//缓存
        @Override
        public PageResult listSysUser(Integer pageSize, Integer pageNum) {
    
            PageHelper.startPage(pageNum,pageSize);
    
            List<SysUser> userList = sysUserMapper.selectByExample(null);
            PageInfo<SysUser> pageInfo = new PageInfo<SysUser>(userList);
    
            return new PageResult(pageInfo);
        }
    }
    

    4.重新封装结果

    由于我需要的参数不多(list,pageNum,pages,total),所以用PageResult重新封装了一下结果

    • PageResult 类:
    
    @Data
    public class PageResult extends ResultBase {
    
        private long total;
        private int pageNum;
        private int pages;
        private List list;
    
        public PageResult(PageInfo pageInfo){
            this.setCode(1);
            this.total = pageInfo.getTotal();
            this.pageNum = pageInfo.getPageNum();
            this.pages = pageInfo.getPages();
            this.list = pageInfo.getList();
        }
    }
    
    
    • ResultBase 类:
    
    @Getter
    @Setter
    public class ResultBase {
    
        private int code;
        private String message;
    
        public  ResultBase success(){
            this.code = 1;
            return this;
        }
    
        public  ResultBase success(String msg){
            this.message = msg;
            this.code = 1;
            return this;
        }
    
        public  ResultBase fail(String msg){
            this.message = msg;
            this.code = 0;
            return this;
        }
    }
    
  • 相关阅读:
    HDU 3280 Equal Sum Partitions(二分查找)
    提高效率—编程中的技巧
    开发心得
    使用OpenCV读、操作、写图像并与bash合作对某个文件夹下全部图像进行相似处理
    观察者模式
    ORA-00932: inconsistent datatypes: expected
    Struts1应用、实现简单计算器、使用DispatchAction、显示友好的报错信息、使用动态Form简化开发
    Apple Swift编程语言新手教程
    I NEED A OFFER! (hdu 1203 01背包)
    端午遥想
  • 原文地址:https://www.cnblogs.com/monkay/p/11170243.html
Copyright © 2011-2022 走看看