您好,登錄后才能下訂單哦!
這篇文章主要講解了“mybatis分頁的方法有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“mybatis分頁的方法有哪些”吧!
mybatis分頁的3種方式是:1、使用Limit分頁,其核心語句如“select * from users limit startIndex,pageSize;”;2、使用RowBounds實現分頁,語句如“List
getUserLRowBounds();”;3、使用分頁插件“PageHelper”實現即可。
為什么要分頁?
如果前端需要展示數據時,由于數據量龐大,一次性展示,這時頁面將會出現一大片數據,而且還不一定加載完成,效率很差,此時分頁查詢就可以很好的解決這一問題,將龐大的數據按照一定數目顯示出,還可以通過點擊下一頁或者上一頁展示其它數據,效率更高!
下面來介紹下mybatis常用的幾種分頁查詢!
首先看一下數據庫里所有的數據,細節代碼里有注解
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();
}
查詢結果:
基于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分頁的方法有哪些”的內容了,經過本文的學習后,相信大家對mybatis分頁的方法有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。