MyBatisPlusのページネーションプラグインであるIPageの使用例を紹介します。

MyBatis Plusは、MyBatisを強化する優れたツールであり、多くの実用的な機能を提供しています。その中には、ページング機能も含まれています。ページング検索とは、大量のデータを検索する際に、データを複数のページに分割して検索することで、データの転送を減らし、検索効率を向上させる機能です。

MyBatis Plusでは、ページング検索にはIPageインターフェースが使用されます。IPageインターフェースは、MyBatis Plusが提供するページングプラグインであり、ページング検索に関連するメソッドとプロパティが含まれています。以下はIPageを使用したサンプルコードです。

  1. 最初に、ページネーション検索のメソッドを定義する必要があります。次のように:
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {

    @Override
    public IPage<User> getUserListByPage(int pageNum, int pageSize) {
        // 创建分页对象
        IPage<User> page = new Page<>(pageNum, pageSize);
        // 调用MyBatis Plus的分页查询方法
        IPage<User> userPage = baseMapper.selectPage(page, null);
        // 返回查询结果
        return userPage;
    }
}
  1. 上記のコードでは、まず、ページ数を表すpageNumと1ページに表示するレコード数を表すpageSizeでページオブジェクトIPage page = new Page<>(pageNum, pageSize)を作成します。その後、MyBatis PlusのページングクエリメソッドbaseMapper.selectPage(page, null)を呼び出し、ページオブジェクトとクエリ条件をパラメータとして渡します。最後に、クエリ結果を返します。
  2. getUserListByPage(pageNum, pageSize)メソッドを呼び出すことで、ページング検索を実行できます。getPageNumとpageSizeを使用してください。
@Autowired
private UserService userService;

@GetMapping("/users")
public Result getUserListByPage(@RequestParam("pageNum") int pageNum, @RequestParam("pageSize") int pageSize) {
    IPage<User> userPage = userService.getUserListByPage(pageNum, pageSize);
    return Result.success(userPage);
}

上記のコードでは、userService.getUserListByPage(pageNum, pageSize)メソッドを呼び出して、ページング検索結果を取得し、結果を返します。

上記のサンプルコードを見れば、IPageインターフェースを使用したページングクエリの実装は非常に簡単であることがわかります。単にページングオブジェクトを作成し、MyBatis Plusが提供するページングクエリメソッドを呼び出すだけです。さらに、IPageは他の便利なメソッドも提供しており、例えば総レコード数や総ページ数を取得するなど、実際のニーズに応じて利用することができます。

bannerAds