Mybatis 分页


49)Mybatis 分页

  1. limit分页

  2. RowBounds 进行分页,非常方便,不需要在 sql 语句中写 limit,即可完成分页功能。但是由于它是在 sql 查询出所有结果的基础上截取数据的,所以在数据量大的sql中并不适用,它更适合在返回数据结果较少的查询中使用。

    最核心的是在 mapper 接口层,传参时传入 RowBounds(int offset, int limit) 对象,即可完成分页。

  3. Mybatis分页插件PageHelper

  1. RowBounds的使用

    mapper 接口层代码如下

? List selectBookByName(Map map, RowBounds rowBounds);
? 调用如下

? List list = bookMapper.selectBookByName(map, new RowBounds(0, 5));
? 原文链接:https://blog.csdn.net/wsjzzcbq/article/details/83447948

  1. PageHelper的使用

    PageHelper参考自:https://www.jianshu.com/p/50fcd7f127f0

    在service中,先开启分页,然后把查询结果集放入PageInfo中。

    public PageInfo listUserByPage(int pageNum, int pageSize) {
            PageHelper.startPage(pageNum, pageSize);
            List userVoList=userMapper.listUser();
            PageInfo pageInfo=new PageInfo(userVoList);
            return pageInfo;
        }
    

? PageHelper.startPage(pageNum, pageSize);这句非常重要,这段代码表示分页的开始,意思是从第pageNum页开始,每页显示 pageSize条记录。

? PageInfo这个类是插件里的类,这个类里面的属性会在输出结果中显示,
使用PageInfo这个类,你需要将查询出来的list放进去