Module bus.pager

Class PageMethod

java.lang.Object
org.miaixz.bus.pager.binding.PageMethod
Direct Known Subclasses:
PageContext

public abstract class PageMethod extends Object
提供基础分页方法,用于配置和管理MyBatis分页查询。
Since:
Java 17+
Author:
Kimi Liu
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected static boolean
    默认是否执行count查询
    protected static final ThreadLocal<Page>
    存储当前线程的分页参数
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    清除当前线程的分页参数。
    static long
    count(Querying select)
    获取任意查询的count总数。
    static <T> Page<T>
    获取当前线程的分页参数。
    static <E> Page<E>
    offsetPage(int offset, int limit)
    开始分页,基于偏移量和限制数。
    static <E> Page<E>
    offsetPage(int offset, int limit, boolean count)
    开始分页,基于偏移量、限制数和是否执行count查询。
    static void
    orderBy(String orderBy)
    设置排序字段。
    static void
    设置当前线程的分页参数。
    protected static void
    设置全局静态属性。
    static <E> Page<E>
    startPage(int pageNo, int pageSize)
    开始分页,指定页码和页面大小。
    static <E> Page<E>
    startPage(int pageNo, int pageSize, boolean count)
    开始分页,指定页码、页面大小和是否执行count查询。
    static <E> Page<E>
    startPage(int pageNo, int pageSize, boolean count, Boolean reasonable, Boolean pageSizeZero)
    开始分页,指定页码、页面大小、count查询、分页合理化和零页大小处理。
    static <E> Page<E>
    startPage(int pageNo, int pageSize, String orderBy)
    开始分页,指定页码、页面大小和排序字段。
    static <E> Page<E>
    startPage(Object params)
    从参数对象开始分页。

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • LOCAL_PAGE

      protected static final ThreadLocal<Page> LOCAL_PAGE
      存储当前线程的分页参数
    • DEFAULT_COUNT

      protected static boolean DEFAULT_COUNT
      默认是否执行count查询
  • Constructor Details

    • PageMethod

      public PageMethod()
  • Method Details

    • getLocalPage

      public static <T> Page<T> getLocalPage()
      获取当前线程的分页参数。
      Type Parameters:
      T - 分页数据元素类型
      Returns:
      当前分页对象
    • setLocalPage

      public static void setLocalPage(Page page)
      设置当前线程的分页参数。
      Parameters:
      page - 分页对象
    • clearPage

      public static void clearPage()
      清除当前线程的分页参数。
    • count

      public static long count(Querying select)
      获取任意查询的count总数。
      Parameters:
      select - 查询对象
      Returns:
      总记录数
    • startPage

      public static <E> Page<E> startPage(Object params)
      从参数对象开始分页。
      Type Parameters:
      E - 分页数据元素类型
      Parameters:
      params - 参数对象
      Returns:
      分页对象
    • startPage

      public static <E> Page<E> startPage(int pageNo, int pageSize)
      开始分页,指定页码和页面大小。
      Type Parameters:
      E - 分页数据元素类型
      Parameters:
      pageNo - 页码(从1开始)
      pageSize - 每页记录数
      Returns:
      分页对象
    • startPage

      public static <E> Page<E> startPage(int pageNo, int pageSize, boolean count)
      开始分页,指定页码、页面大小和是否执行count查询。
      Type Parameters:
      E - 分页数据元素类型
      Parameters:
      pageNo - 页码(从1开始)
      pageSize - 每页记录数
      count - 是否执行count查询
      Returns:
      分页对象
    • startPage

      public static <E> Page<E> startPage(int pageNo, int pageSize, String orderBy)
      开始分页,指定页码、页面大小和排序字段。
      Type Parameters:
      E - 分页数据元素类型
      Parameters:
      pageNo - 页码(从1开始)
      pageSize - 每页记录数
      orderBy - 排序字段
      Returns:
      分页对象
    • startPage

      public static <E> Page<E> startPage(int pageNo, int pageSize, boolean count, Boolean reasonable, Boolean pageSizeZero)
      开始分页,指定页码、页面大小、count查询、分页合理化和零页大小处理。
      Type Parameters:
      E - 分页数据元素类型
      Parameters:
      pageNo - 页码(从1开始)
      pageSize - 每页记录数
      count - 是否执行count查询
      reasonable - 分页合理化开关,null时使用默认配置
      pageSizeZero - 当为true且pageSize=0时返回全部结果,null时使用默认配置
      Returns:
      分页对象
    • offsetPage

      public static <E> Page<E> offsetPage(int offset, int limit)
      开始分页,基于偏移量和限制数。
      Type Parameters:
      E - 分页数据元素类型
      Parameters:
      offset - 起始偏移量
      limit - 每页记录数
      Returns:
      分页对象
    • offsetPage

      public static <E> Page<E> offsetPage(int offset, int limit, boolean count)
      开始分页,基于偏移量、限制数和是否执行count查询。
      Type Parameters:
      E - 分页数据元素类型
      Parameters:
      offset - 起始偏移量
      limit - 每页记录数
      count - 是否执行count查询
      Returns:
      分页对象
    • orderBy

      public static void orderBy(String orderBy)
      设置排序字段。
      Parameters:
      orderBy - 排序字段
    • setStaticProperties

      protected static void setStaticProperties(Properties properties)
      设置全局静态属性。
      Parameters:
      properties - 插件配置属性