详解Java中两种分页遍历的使用姿势

在 Java 中,分页遍历是非常实用的功能之一,常用于应用中数据分页展示,提高用户体验。本文将介绍 Java 中两种分页遍历的使用姿势,并附上示例说明。

详解Java中两种分页遍历的使用姿势

在 Java 中,分页遍历是非常实用的功能之一,常用于应用中数据分页展示,提高用户体验。本文将介绍 Java 中两种分页遍历的使用姿势,并附上示例说明。

1. 基于MySQL的分页查询

在 MySQL 中,可以使用 LIMIT 关键字实现分页功能。具体使用方式如下:

SELECT * FROM table_name LIMIT startIndex, pageSize;

其中 startIndex 为起始索引位置,pageSize 为每页数据量。在应用中,我们通常需要传递一个页码参数,通过计算得出起始索引位置。

在 Java 中,可以使用 MyBatis 框架来实现分页功能。具体实现方式如下:

<select id="selectByPage" resultType="com.example.model.User">
  SELECT * FROM user
  LIMIT #{startIndex}, #{pageSize}
</select>

在代码中,我们需要传递一个类似于下面这样的 Map 类型参数:

Map<String, Integer> paramMap = new HashMap<>();
int startIndex = (pageNum - 1) * pageSize; // 计算起始索引位置
paramMap.put("startIndex", startIndex);
paramMap.put("pageSize", pageSize);

这样即可实现基于 MySQL 的分页查询。

2. 基于Java的分页遍历

除了使用 MySQL 的分页查询方式外,我们还可以使用 Java 中的分页遍历方式,这种方式通常用于应对数据量较小的情况,可以通过 Java 自带的集合类实现。

具体实现方式如下:

// 通过 subList() 方法截取指定区间的数据
List<Integer> dataList = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9);
int startIndex = (pageNum - 1) * pageSize;
List<Integer> subList = dataList.subList(startIndex, Math.min(startIndex + pageSize, dataList.size()));

在以上代码中,我们使用了 subList() 方法来截取指定区间的数据,然后就可以通过该数据展示在应用中。

示例说明

示例一:使用MyBatis实现分页

例如,我们在应用中需要展示用户列表,每页展示10条数据,此时我们可以使用如下的 Java 代码实现分页查询:

int pageNum = 2; // 当前页码
int pageSize = 10; // 每页数据量
Map<String, Integer> paramMap = new HashMap<>();
int startIndex = (pageNum - 1) * pageSize; // 计算起始索引位置
paramMap.put("startIndex", startIndex);
paramMap.put("pageSize", pageSize);
List<User> userList = userMapper.selectByPage(paramMap);

以上代码中,我们通过传递 pageNum 和 pageSize 两个参数计算出起始索引位置,然后利用 MyBatis 框架完成分页查询。

示例二:使用Java实现分页遍历

又例如,我们在应用中需要展示部门列表,每页展示5条数据,此时我们可以使用如下的 Java 代码实现分页遍历:

int pageNum = 2; // 当前页码
int pageSize = 5; // 每页数据量
List<Department> departmentList = Arrays.asList(
  new Department(1, "财务部"),
  new Department(2, "人力资源部"),
  new Department(3, "技术部"),
  new Department(4, "市场部"),
  new Department(5, "销售部"),
  new Department(6, "后勤部")
);
int startIndex = (pageNum - 1) * pageSize; // 计算起始索引位置
List<Department> subList = departmentList.subList(startIndex, Math.min(startIndex + pageSize, departmentList.size()));

以上代码中,我们通过 subList() 方法截取指定区间的数据,然后利用返回的 subList 即可完成分页遍历。

通过以上两个示例,我们可以掌握基本的 MySQL 分页查询和 Java 分页遍历的实现方法,并可以根据实际应用需求进行进一步的调整和完善。

本文标题为:详解Java中两种分页遍历的使用姿势

基础教程推荐