溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mybatis分頁的方法有哪些

發(fā)布時間:2023-03-13 14:04:24 來源:億速云 閱讀:113 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要講解了“mybatis分頁的方法有哪些”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“mybatis分頁的方法有哪些”吧!

mybatis分頁的3種方式是:1、使用Limit分頁,其核心語句如“select * from users limit startIndex,pageSize;”;2、使用RowBounds實現(xiàn)分頁,語句如“ListgetUserLRowBounds();”;3、使用分頁插件“PageHelper”實現(xiàn)即可。

為什么要分頁?

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

下面來介紹下mybatis常用的幾種分頁查詢!
首先看一下數(shù)據(jù)庫里所有的數(shù)據(jù),細節(jié)代碼里有注解

mybatis分頁的方法有哪些

1、使用Limit分頁

sql使用的核心語句

-- 語法:表示從startIndex下標開始,一頁顯示pageSize個
select * from users limit startIndex,pageSize;
-- 語法:表示顯示[0,n]范圍的數(shù)據(jù)
select * from users limit n;

使用Mybatis實現(xiàn)分頁,基于sql實現(xiàn)

編寫接口

 //分頁查詢
   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();
   }

查詢結(jié)果:

mybatis分頁的方法有哪些

2、RowBounds實現(xiàn)分頁

基于RowBounds類對象實現(xiàn),基于java代碼

編寫接口

//RowBounds實現(xiàn)分頁查詢
   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對象  參數(shù)(起點,個數(shù))
       RowBounds rowBounds = new RowBounds(2, 3);

       //通過java代碼層面實現(xiàn)分頁,第一個參數(shù)是接口類的方法路徑
       List<User> userlist = sqlSession.selectList("dao.UserDao.getUserLRowBounds", null, rowBounds);
       for (User user : userlist) {
           System.out.println(user);
       }
       sqlSession.close();
   }

結(jié)果:

mybatis分頁的方法有哪些

3、使用分頁插件實現(xiàn)

mybatis分頁的方法有哪些

感謝各位的閱讀,以上就是“mybatis分頁的方法有哪些”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對mybatis分頁的方法有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI