hutool.core.util.page

分页工具类

Module Contents

Classes

PageUtil

分页工具类,提供分页计算相关的工具方法。

API

class hutool.core.util.page.PageUtil

分页工具类,提供分页计算相关的工具方法。

_FIRST_PAGE_NO = 0
static total_page(total_count: int, page_size: int) int

根据总记录数和每页条数计算总页数。

参数:
  • total_count – 总记录数

  • page_size – 每页条数

返回:

总页数,参数非法时返回 0

static rainbow(page_num: int, total_page: int, display_count: int) List[int]

彩虹分页算法,获取当前页周围的页码列表。

例如: rainbow(5, 10, 3) 返回 [3, 4, 5, 6, 7]

参数:
  • page_num – 当前页码

  • total_page – 总页数

  • display_count – 显示的页码个数

返回:

页码列表

static to_page(start_index: int, page_size: int) int

将起始索引转换为页码(从 1 开始)。

参数:
  • start_index – 起始索引

  • page_size – 每页条数

返回:

页码,page_size 非法时返回 1

static first_page() int

获取第一页页码。

返回:

始终返回 1

static get_start(page: int, limit: int) int

根据页码和每页条数计算起始行号(从 0 开始)。

参数:
  • page – 页码(从 1 开始)

  • limit – 每页条数

返回:

起始行号

static to_start_index(page_num: int, page_size: int) int

将页码转换为起始索引(从 0 开始)。

参数:
  • page_num – 页码(从 1 开始)

  • page_size – 每页条数

返回:

起始索引

static set_first_page_no(first_page_no: int) None

设置第一页的页码(默认为 0,Java 惯例;Python 通常从 1 开始)。

参数:

first_page_no – 第一页页码

static get_first_page_no() int

获取第一页页码。

static get_end(page_num: int, page_size: int) int

获取分页结束位置。

参数:
  • page_num – 页码

  • page_size – 每页大小

返回:

结束位置

static trans_to_start_end(page_num: int, page_size: int) tuple

将页码转换为起始和结束索引。

参数:
  • page_num – 页码

  • page_size – 每页大小

返回:

(start, end) 元组

static to_segment(total: int, page_size: int) int

计算总页数。

参数:
  • total – 总记录数

  • page_size – 每页大小

返回:

总页数