温馨提示×

mybatis如何进行分页

小亿
103
2023-08-23 08:44:45
栏目: 编程语言

Mybatis提供了两种方法来实现分页查询:

  1. 使用RowBounds参数:
  • 在Mapper方法中添加一个RowBounds参数,用于指定查询的偏移量和限制数量。

  • 在SQL语句中使用LIMIT关键字来指定查询的偏移量和限制数量。

  • 在查询结果中,只会返回指定偏移量和数量的数据。

例如:

// Mapper接口方法
List<User> getUsers(@Param("offset") int offset, @Param("limit") int limit);
// Mapper XML配置文件
<select id="getUsers" resultType="User">
SELECT * FROM users
LIMIT #{offset}, #{limit}
</select>
// 调用Mapper方法
List<User> users = userDao.getUsers(0, 10);  // 查询偏移量为0,限制数量为10的数据
  1. 使用PageHelper插件:
  • 在项目中引入PageHelper插件的依赖。

  • 在Mapper接口方法上使用PageHelper.startPage()方法来开启分页查询,并传入页码和每页显示数量。

  • 执行Mapper方法后,PageHelper会自动将查询结果封装成Page对象,其中包含了分页相关的信息。

例如:

// 引入PageHelper插件的依赖
// 在Mapper接口方法中使用PageHelper.startPage()方法
List<User> getUsers(@Param("pageNum") int pageNum, @Param("pageSize") int pageSize);
// 调用Mapper方法
PageHelper.startPage(1, 10);  // 查询第1页,每页显示10条数据
List<User> users = userDao.getUsers(1, 10);
// 获取分页相关信息
PageInfo<User> pageInfo = new PageInfo<>(users);
int total = pageInfo.getTotal();  // 获取总记录数

以上两种方法都可以实现分页查询,具体选择哪种方法取决于你的需求和项目情况。

0