首頁 > 常見問題 > 主體

mybatis分頁的幾種方式是什麼

藏色散人
發布: 2023-03-13 13:52:02
原創
2458 人瀏覽過

mybatis分頁的3種方式是:1、使用Limit分頁,其核心語句如「select * from users limit startIndex,pageSize;」;2、使用RowBounds實作分頁,語句如「List getUserLRowBounds();”;3、使用分頁外掛程式「PageHelper」實作即可。

mybatis分頁的幾種方式是什麼

本教學操作環境:Windows10系統、Dell G3電腦。

mybatis分頁的幾種方式是什麼?

#MyBatis常用的幾個分頁方式

為什麼要分頁?

如果前端需要展示資料時,由於資料量龐大,一次性展示,這時頁面將會出現一大片資料,而且還不一定載入完成,效率很差,此時分頁查詢就可以很好的解決這一問題,將龐大的數據按照一定數目顯示出,還可以通過點擊下一頁或者上一頁展示其它數據,效率更高!

以下來介紹下mybatis常用的幾種分頁查詢!
先看一下資料庫裡所有的數據,細節程式碼裡有註解

mybatis分頁的幾種方式是什麼

#1、使用Limit分頁

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

#使用Mybatis實作分頁,基於sql實作

寫介面

 //分页查询
    List<User> getUserLImit(Map<String,Object> map);
登入後複製

寫Mapper.xml

<!--    分页查询-->
    <select id="getUserLImit" parameterType="map" resultType="pojo.User">
        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, Object> 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();
    }
登入後複製

查詢結果:

mybatis分頁的幾種方式是什麼

2、RowBounds實作分頁

基於RowBounds類別物件實作,基於java程式碼

寫介面

//RowBounds实现分页查询
    List<User> getUserLRowBounds();
登入後複製

寫Mapper.xml,查詢的其實就是全部使用者

   <!--   RowBounds 分页查询-->
    <select id="getUserLRowBounds"  resultType="pojo.User">
        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();
    }
登入後複製

結果:

mybatis分頁的幾種方式是什麼

#3、使用分頁插件實現

mybatis分頁的幾種方式是什麼

#感興趣的可以了解下,放個該插件的官網鏈接,有官方使用文檔,自行了解PageHelper分頁外掛程式

以上是mybatis分頁的幾種方式是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!