PageHelper 是一个功能强大的分页插件,它可以简化在 Java 开发中进行分页查询的操作。在使用 PageHelper 进行查询时, getList() 方法返回的是一个 page 对象,而不是查询结果集。这是因为 getPageList() 方法既包含了查询结果集,又包含了分页相关的信息,通过 page 对象,我们可以方便地获取到分页相关的信息,并进行操作。

1. PageHelper 的设计思想
PageHelper 的设计思想是尽可能地方便开发者进行分页查询,同时提供一些常用的分页操作方法。getList() 方法返回的是一个 page 对象,是为了让开发者更好地理解和操作分页,提高代码的可读性和可维护性。通过 page 对象,我们可以很方便地获取到当前页的数据集合、总记录数、总页数等分页相关的信息。实际上,getList() 方法返回的 page 对象也可以转换为普通的 List 集合,只需调用 page 对象的 getData() 方法即可。

2. PageHelper 的分页查询机制
PageHelper 是通过拦截器的方式实现的分页查询。在进行查询时,PageHelper 会拦截 SQL 语句,并根据设置的分页参数来重新拼接 SQL 语句,从而实现数据的分页查询。getList() 方法返回的 page 对象不仅包含了查询结果集,还包含了分页参数的相关信息。通过 page 对象,我们可以获取到当前页的数据集合,以及总记录数、总页数、每页显示的记录数等分页相关的信息。

3. PageHelper 的使用示例
以下是一个使用 PageHelper 进行分页查询的示例:

```java
// 设置分页参数
int pageNum = 1; // 当前页码
int pageSize = 10; // 每页显示的记录数

// 开启分页查询
PageHelper.startPage(pageNum, pageSize);

// 执行查询操作
List userList = userDao.getUserList();

// 获取分页信息
PageInfo pageInfo = new PageInfo<>(userList);

// 获取当前页的数据集合
List currentPageList = pageInfo.getList();

// 获取总记录数
long total = pageInfo.getTotal();

// 获取总页数
int totalPages = pageInfo.getPages();
```

通过上面的示例代码,我们可以看到 getList() 方法的返回值是一个 page 对象。在获取到分页信息后,我们可以通过 page 对象方便地获取到当前页的数据集合、总记录数、总页数等分页相关的信息。这样,我们就可以灵活地进行分页操作和显示,提高用户体验。

综上所述,PageHelper 的 getList() 方法返回的是一个 page 对象,这是为了方便开发者进行分页查询,并获取到分页相关的信息。通过 page 对象,我们可以很方便地获取到当前页的数据集合、总记录数、总页数等分页相关的信息,提高代码的可读性和可维护性。