【Mybatis】实现分页

一、通过sql语句实现分页

这种方式也是我们第一次接触分页时使用的方式,通过limit实现


第一步:编写接口

    List<User> getUserByLimit(Map<String,Integer> map);

第二步:编写xxxMapper.xml

<!--分页查询-->
<select id="getUserByLimit" parameterType="map" resultMap="UserRes">
    select * from `user` limit #{pageIndex},#{pageSize}
</select>

第三步:编写单元测试

@Test
public void getUserByLimit(){
    SqlSession sqlSession = MybatisUtil.getSqlSession();
    UserMapper mapper = sqlSession.getMapper(UserMapper.class);
    HashMap<String, Integer> map = new HashMap<String, Integer>();
    map.put("pageIndex",1);
    map.put("pageSize",3);

    List<User> users = mapper.getUserByLimit(map);
    for(User user:users){
        System.out.println(user);
    }

    sqlSession.close();
}

结果:

在这里插入图片描述

二、通过RowBounds类实现分页

我们要知道,RowBounds的底层还是使用的limit进行实现的
在这里插入图片描述

第一步:编写接口

List<User> selUsers();

第二步:编写xxxMapper.xml

<!--条件查询-->
<select id="selUsers" resultMap="UserRes">
    select * from `user`
</select>

第三步:编写单元测试

@Test
public void pageBounds(){
    SqlSession sqlSession = MybatisUtil.getSqlSession();

    //RowBounds实现,第一个参数pageIndex,第二个参数pageSize
    RowBounds rowBounds = new RowBounds(1,2);

    //第一个参数:定位到要是用的方法
    //第二个参数:sql语句要是用的参数,因为我们没有,所以直接使用null
    //第三个参数:RowBounds对象
    List<User> users = sqlSession.selectList("stdpei.dao.UserMapper.selUsers", null, rowBounds);

    for(User user:users){
        System.out.println(user);
    }

    sqlSession.close();
}

结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值