使用javaSteam流進行邏輯分頁(內(nèi)存分頁)-創(chuàng)新互聯(lián)

物理分頁與邏輯分頁

物理分頁

員工經(jīng)過長期磨合與沉淀,具備了協(xié)作精神,得以通過團隊的力量開發(fā)出優(yōu)質(zhì)的產(chǎn)品。成都創(chuàng)新互聯(lián)堅持“專注、創(chuàng)新、易用”的產(chǎn)品理念,因為“專注所以專業(yè)、創(chuàng)新互聯(lián)網(wǎng)站所以易用所以簡單”。公司專注于為企業(yè)提供網(wǎng)站制作、成都做網(wǎng)站、微信公眾號開發(fā)、電商網(wǎng)站開發(fā),小程序開發(fā),軟件按需求定制制作等一站式互聯(lián)網(wǎng)企業(yè)服務。

物理分頁依賴的是某一物理實體,這個物理實體就是數(shù)據(jù)庫,比如MySQL數(shù)據(jù)庫提供了limit關(guān)鍵字,程序員只需要編寫帶有l(wèi)imit關(guān)鍵字的SQL語句,數(shù)據(jù)庫返回的就是分頁結(jié)果。

邏輯分頁

邏輯分頁依賴的是程序員編寫的代碼。數(shù)據(jù)庫返回的不是分頁結(jié)果,而是全部數(shù)據(jù),然后再由程序員通過代碼獲取分頁數(shù)據(jù),常用的操作是一次性從數(shù)據(jù)庫中查詢出全部數(shù)據(jù)并存儲到List集合中,因為List集合有序,再根據(jù)索引獲取指定范圍的數(shù)據(jù)。

使用 java Steam流進行邏輯分頁

分頁需要計算傳入分頁的第幾頁數(shù),查詢結(jié)果的總條數(shù),總共有多少頁,如下代碼:

@Service
public class UserServiceImpl implements UserService {

  @Override
  public ResponsePage userPage(Integer page, Integer size) {
    //查出user總數(shù)量
    ListuserList=userReposity.findAll();
    //使用Stream流分頁  sorted()排序,skip()跳過多少數(shù)據(jù),limit()限制取多少條記錄
    ListpageResult = userList.stream()
        .sorted(Comparator.comparing(User::getBrith).reversed())
        .skip((page - 1L) * size).limit(size).collect(Collectors.toList());
    //記錄總條數(shù)
    int nums = userList.size();
    //計算總共有多少頁數(shù)
    int totalPage = (nums % size) >0 ? nums / size + 1 : nums / size;
    return new ResponsePage(pageResult,nums,totalPage,size);
  }

}

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

名稱欄目:使用javaSteam流進行邏輯分頁(內(nèi)存分頁)-創(chuàng)新互聯(lián)
當前地址:http://bm7419.com/article16/ipogg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司、企業(yè)建站、響應式網(wǎng)站、網(wǎng)頁設(shè)計公司、靜態(tài)網(wǎng)站手機網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)