溫馨提示×

MyBatis BaseDao層如何實現(xiàn)分頁查詢

小樊
81
2024-09-10 03:06:27
欄目: 編程語言

在 MyBatis 中,要實現(xiàn)分頁查詢,你需要使用 RowBounds 對象或者是 PageHelper 插件。這里我將為你展示如何使用這兩種方法來實現(xiàn)分頁查詢。

  1. 使用 RowBounds:

首先,在你的 Mapper 接口中,添加一個使用 RowBounds 參數(shù)的方法:

public interface UserMapper {
    List<User> findAllWithRowBounds(RowBounds rowBounds);
}

然后,在對應的 XML 文件中,編寫 SQL 查詢語句:

    SELECT * FROM user
</select>

最后,在你的 Service 層或 Controller 層,使用 RowBounds 對象進行分頁查詢:

int offset = (pageNum - 1) * pageSize;
int limit = pageSize;
RowBounds rowBounds = new RowBounds(offset, limit);
List<User> users = userMapper.findAllWithRowBounds(rowBounds);
  1. 使用 PageHelper 插件:

首先,添加 PageHelper 依賴到你的項目中。如果你使用 Maven,可以在 pom.xml 文件中添加以下依賴:

   <groupId>com.github.pagehelper</groupId>
   <artifactId>pagehelper</artifactId>
   <version>5.2.0</version>
</dependency>

接下來,在你的 Mapper 接口中,添加一個查詢所有用戶的方法:

public interface UserMapper {
    List<User> findAll();
}

然后,在對應的 XML 文件中,編寫 SQL 查詢語句:

    SELECT * FROM user
</select>

在你的 Service 層或 Controller 層,使用 PageHelper 進行分頁查詢:

// 設置分頁參數(shù)
PageHelper.startPage(pageNum, pageSize);
// 調(diào)用 Mapper 方法進行查詢
List<User> users = userMapper.findAll();
// 獲取分頁信息
PageInfo<User> pageInfo = new PageInfo<>(users);

現(xiàn)在,你已經(jīng)成功實現(xiàn)了 MyBatis 的分頁查詢。注意,這里的分頁參數(shù)是基于 1 的,即 pageNum 的值從 1 開始。

0