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<String, Object> 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<UserVo> userVoList=userMapper.listUser();
            PageInfo pageInfo=new PageInfo(userVoList);
            return pageInfo;
        }
    

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

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

posted @ 2022-05-23 19:27  靠谱杨  阅读(196)  评论(0编辑  收藏  举报