ホームページ  >  記事  >  mybatis でのページングにはどのような方法がありますか?

mybatis でのページングにはどのような方法がありますか?

藏色散人
藏色散人オリジナル
2023-03-13 13:52:022546ブラウズ

mybatis でのページングの 3 つの方法は次のとおりです: 1. "select * from users limit startIndex,pageSize;" などのコア ステートメントでページング制限を使用します; 2. 次のようなステートメントで RowBounds を使用してページングを実装します。 "List getUserLRowBounds();"; 3. ページング プラグイン「PageHelper」を使用してこれを実現します。

mybatis でのページングにはどのような方法がありますか?

このチュートリアルの動作環境: Windows 10 システム、Dell G3 コンピューター。

mybatis でのページングにはどのような方法がありますか?

#MyBatis で一般的に使用されるページング方法#なぜページネーションをするのか?

フロントエンドでデータを表示する必要がある場合、大量のデータと一度の表示により、ページ上に大量のデータが表示され、読み込みが完了しない可能性がありますこの問題は、特定の数に従って膨大なデータを表示することで非常にうまく解決でき、次のページまたは前のページをクリックして他のデータを表示することもでき、より効率的です。 !

mybatis でよく使われるページング クエリをいくつか紹介しましょう。

まず、データベース内のすべてのデータを確認します。詳細コードにはコメントがあります


mybatis でのページングにはどのような方法がありますか?##1. ページング制限を使用します

sql使用的核心语句
-- 语法:表示从startIndex下标开始,一页显示pageSize个
select * from users limit startIndex,pageSize;
-- 语法:表示显示[0,n]范围的数据
select * from users limit n;

Mybatis を使用してページングを実装し、SQL に基づいて実装します

インターフェイスの記述

 //分页查询
    List<user> getUserLImit(Map<string> map);</string></user>
Mapper.xmlの記述

<!--    分页查询-->
    <select>
        select * from firend_mq.users limit #{startIndex},#{pageSize}    </select>

テスト クラス

    //测试分页查询
    @Test
    public  void getUserLImit(){
        SqlSession sqlSession = Mybatisutil.getSqlSession();
        UserDao mapper = sqlSession.getMapper(UserDao.class);

        Map<string> map = new HashMap();
        map.put("startIndex",0);
        map.put("pageSize",3);
        List<user> userLImit = mapper.getUserLImit(map);
        for (User user : userLImit) {
            System.out.println(user);
        }
        sqlSession.close();
    }</user></string>

クエリ結果:

mybatis でのページングにはどのような方法がありますか?2. RowBounds ページングの実装

RowBounds クラス オブジェクトに基づく実装、Javaコードに基づいています

インターフェイスの記述

//RowBounds实现分页查询
    List<user> getUserLRowBounds();</user>
Mapper.xmlの記述、クエリは実際にはすべてのユーザーです

   <!--   RowBounds 分页查询-->
    <select>
        select * from firend_mq.users    </select>

テストクラス

    //RowBounds分页查询
    @Test
    public  void getUserLRowBounds(){
        SqlSession sqlSession = Mybatisutil.getSqlSession();
        //RowBounds对象  参数(起点,个数)
        RowBounds rowBounds = new RowBounds(2, 3);

        //通过java代码层面实现分页,第一个参数是接口类的方法路径
        List<user> userlist = sqlSession.selectList("dao.UserDao.getUserLRowBounds", null, rowBounds);
        for (User user : userlist) {
            System.out.println(user);
        }
        sqlSession.close();
    }</user>

結果:

mybatis でのページングにはどのような方法がありますか?3. ページング プラグインを使用して

# を実現します興味がある場合は、プラグインの公式 Web サイトのリンクを見つけて投稿してください。公式の使用法ドキュメントがありますので、自分で学習してください。

PageHelper ページング プラグインmybatis でのページングにはどのような方法がありますか?

以上がmybatis でのページングにはどのような方法がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:msカードとは次の記事:msカードとは