Mybatis PlusでのIPageとPageの違いは何ですか?

MyBatis-Plusにおいて、IPageとPageはどちらもページング検索に使用されるインターフェースです。彼らの違いは、主に以下の点に現れています。

  1. 継承関係: IPageはPageの親インターフェースです。IPageは基本的なページングクエリのメソッドを定義しており、一方PageはIPageの実装クラスであり、具体的なページングクエリの実装を提供しています。
  2. イントロダクション:IPageはMyBatis-Plus 2.0バージョンより前のインターフェースであり、一方でPageはMyBatis-Plus 2.0バージョンで導入された新しいインターフェースです。2.0バージョン以降、PageインターフェースがIPageインターフェースの使用を置き換えています。
  3. ページングパラメータの転送:IPageインターフェースでは、@Param注釈を使用してページングパラメータを転送しますが、Pageインターフェースではメソッドの引数を直接使用してページングパラメータを転送します。このように、Pageインターフェースを使用すると、ページングパラメータをより簡潔で簡単に転送することができます。
  4. IPageインターフェースによるページ単位のクエリ実行は、List records = baseMapper.selectPage(page, queryWrapper).getRecords()によって行われます。これにより、検索結果を含むリストが返されます。一方、Pageインターフェースによるページ単位のクエリ実行は、IPage selectPage(IPage page, @Param(Constants.WRAPPER) Wrapper queryWrapper);メソッドによって行われ、検索結果およびページ情報を含むIPageオブジェクトが返されます。

総じて、IPageとPageはページング機能において基本的に同等ですが、使用方法やパラメータの受け渡しにはいくつかの違いがあります。MyBatis-Plus 2.0 バージョン以降では、Pageインターフェースを使用してページングクエリを行うことを推奨します。

bannerAds