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