PageHelper踩的坑--必須緊跟SQL查詢才會分頁


今天使用pagehelper踩了一個很大的坑記錄一下。業務層我在return前面加入如下一段代碼。用作測試結果坑了我一天。

1       List<Coursespovo> coursespovos=cousermaMapping.selectAllCourse ();
2         for (Coursespovo coursespovo:coursespovos){
3             System.out.println("coursepovosservice"+coursespovo);
4         }


問題:分頁不好使顯示全部數據。

經過查詢資料發現

使用PageHelper.startPage 靜態方法調用startPage :
特點:
1. 靜態方法,傳遞兩個參數(當前頁碼,每頁查詢條數)
2. 使用pageHelper 分頁的時候,不再關注分頁語句,查詢全部的語句
3. 自動的對PageHelper.startPage 方法下的第一個sql 查詢進行分頁
PageHelper.startPage(1,5);
//緊跟着的第一個select 方法會被分頁
List<Country> list = countryMapper.findAll();

也就是說再Service層PageHelper.startPage(1,5);語句后一定是緊跟查詢語句。

是緊跟着的查詢語句

而我的我在返回值那又查詢一遍數據所以給我返回的不是分頁后的數據。

我的業務層代碼

    public List<Coursespovo> getCourse() {
        List<Coursespovo> coursespovos=cousermaMapping.selectAllCourse ();
        for (Coursespovo coursespovo:coursespovos){
            System.out.println("coursepovosservice"+coursespovo);
        }

        return cousermaMapping.selectAllCourse ();
    }
//改成
    public List<Coursespovo> getCourse() {
    

        return cousermaMapping.selectAllCourse ();
    }
//坑我幫你們踩了一定記得緊跟的語句。

 

本文借鑒https://www.cnblogs.com/kitor/p/11009434.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM