写点什么

mybatis 实现分页的几种方法

用户头像
xiezhr
关注
发布于: 2021 年 03 月 18 日
mybatis实现分页的几种方法

通过 limit 实现分页

1、基本语法


SELECT * FROM table LIMIT stratIndex,pageSize
#列子#<1>检索记录为1到10行数据,下标是从0开始的select * from user limit 0,10;#<2>limit 只给一个参数表示从0开始到参数值的记录数,下面的语句相当于limit 0,5select * from user limit 5;
复制代码

2、添加接口方法

//实现分页操作List<User> getUserList1(Map<String,Object> map);
复制代码

3、添加 UserMapper.xml。通过 map 将其实记录数和每页显示条数传进去

<select id="getUserList1" parameterType="map" resultMap="resultmap">        select * from user limit #{startindex},#{pagesize}</select>
复制代码

3、添加测试

 @Test    public void testGetUserList(){        SqlSession sqlSession = MysqlUtil.getSqlSession();        UserMapper mapper = sqlSession.getMapper(UserMapper.class);        Map<String, Object> map = new HashMap<String, Object>();        map.put("startindex",0);        map.put("pagesize",2);        List<User> userList1 = mapper.getUserList1(map);        for(User user:userList1){            System.out.println(user);        }    }
复制代码

4、查看测试结果,返回 1、2 两条记录

User{id=1, name='张三', password='322334'}User{id=2, name='李四', password='123456'}
复制代码


RowBounds 实现分页

1、添加 mapper 接口

//通过RowBounds 方法实现分页    List<User> getUserListByRowBounds();
复制代码

2、UserMapper.xml 配置文件

 <select id="getUserListByRowBounds" resultType="user" resultMap="resultmap">        select * from user;    </select>
复制代码

3、添加测试方法

  @Test    public void getUserByRowBounds(){        SqlSession sqlSession = MysqlUtil.getSqlSession();                int currPage =1; //当前页        int pageSize = 2; //每页大小        RowBounds rowBounds = new RowBounds((currPage-1)*pageSize,pageSize);        ////通过session.**方法进行传递rowBounds,[此种方式现在已经不推荐使用了]        List<User> userList = sqlSession.selectList("com.xiezhr.dao.UserMapper.getUserListByRowBounds", null, rowBounds);        for(User user:userList){            System.out.println(user);        }        sqlSession.close();
}
复制代码

4、测试结果,得到第二、第三条数据

User{id=1, name='张三', password='322334'}User{id=2, name='李四', password='123456'}
复制代码


通过 mybatis 分页插件 PageHelper 实现分页

官方文档:https://pagehelper.github.io/


发布于: 2021 年 03 月 18 日阅读数: 7
用户头像

xiezhr

关注

把分享变成一种习惯,再小的帆也能远航 2021.03.01 加入

还未添加个人简介

评论

发布
暂无评论
mybatis实现分页的几种方法