zoukankan      html  css  js  c++  java
  • 使用Pageable 分页

    1. service层 封装

    package com.example.demo.service;
    
    import java.util.List;
    
    import org.springframework.data.domain.Pageable;
    
    public abstract class Page<T> {
    
        private Integer page;//页数
        private Integer size;//每页数量
        private Number total;//总数
        private List<T> content;
    
        public Page(Pageable pageable) {
            total = count();
            page = pageable.getPageNumber();
            size = pageable.getPageSize();
            if(page <= 0) {
                page = 1;
            }
            long end = (long)page*size;
            long start = end - size;
            content = search(start , end);
        }
        
        /**
         * 获取总数
         */
        protected abstract Number count();
        
        /**
         * 查询结果
         */
        protected List<T> search(Long start , Long end){
            return null;
        }
    
        public Integer getPage() {
            return page;
        }
    
        public void setPage(Integer page) {
            this.page = page;
        }
    
        public Integer getSize() {
            return size;
        }
    
        public void setSize(Integer size) {
            this.size = size;
        }
    
        public List<T> getContent() {
            return content;
        }
    
        public void setContent(List<T> content) {
            this.content = content;
        }
        
        
    }
    View Code

     2.控制层@PageableDefault 的使用: @PageableDefault Pageable pagealbe

      传递参数的时候 , 需要传递page(当前页数,没有的话默认为1),size(每页数据记录数,没有的话默认为10);

    3.eg     service层 , 查询Student
        Page<Student> getStudentList(Pageable pageable ,Long start , Long end);

      ServiceImpl
      Page<Student> getStudentList(Pageable pageable , Long start , Long end){
        return new Page<Student>{

          @Override
          protected Number count() {
            return studentMapper.count();
          }

          @Override
          protected List<Student> search(Long start, Long end){
            return studentMapper.list(start , end);
          }

        }

      }

    温故而知新
  • 相关阅读:
    引用&符号详解
    简单计算器
    while循环输出的表格
    设置和获取变量类型
    位运算符
    MySQL基础(一)SQL基础
    python 21天网络爬虫使用 代理
    Spark入门(一)
    Apache spark2.1.0编译hadoop-2.6-cdh5.11.2的对应版本
    Java 多线程
  • 原文地址:https://www.cnblogs.com/Uzai/p/9639003.html
Copyright © 2011-2022 走看看