0
点赞
收藏
分享

微信扫一扫

Mybatis学习笔记:分页

闲鱼不咸_99f1 2022-01-05 阅读 50

学习内容:分页

1. 使用Limit分页(主要是sql语句实现分页)

数据库中的数据:
在这里插入图片描述

1.1、编写UserMapper接口中编写抽象方法:

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

1.2、在UserMapper.xml中编写sql语句:

<!--
startIndex:起始下标
pageSize:每个页面中的信息个数
-->
<select id="getUserByLimit" parameterType="map" resultMap="UserMap">
        select * from mybatis.user limit #{startIndex},#{pageSize}
</select>

1.3、在测试类中编写测试程序:

@Test
   public void getUserByLimit(){
       SqlSession sqlSession=MybatisUtils.getSqlSession();
       UserMapper mapper=sqlSession.getMapper(UserMapper.class);

       HashMap<String, Object> map = new HashMap<>();
        map.put("startIndex",0);
       map.put("pageSize",2);

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

       sqlSession.close();
   }

在这里插入图片描述

2. RowBounds分页(不再使用sql语句实现分页)

2.1、编写UserMapper接口中编写抽象方法:

List<User> getUserByRowBounds();

2.2、在UserMapper.xml中编写sql语句:

<select id="getUserByRowBounds"  resultMap="UserMap">
        select * from mybatis.user
</select>

2.3、在测试类中编写测试程序:

@Test
public void getUserByRowBounds(){
    SqlSession sqlSession = MybatisUtils.getSqlSession();
    //RowBounds实现
    //这里的两个参数分别是:开始索引下标,每个页面中的信息个数
    RowBounds rowBounds = new RowBounds(1, 2);
    //通过java代码层面实现分页
    List<User> userList = sqlSession.selectList("dao.UserMapper.getUserByRowBounds",null,rowBounds);
    for (User user:userList){
       System.out.println(user);
    }
   sqlSession.close();
}

在这里插入图片描述

3. 插件

在这里插入图片描述
如何使用:点我查看PageHelper使用方法

举报

相关推荐

0 条评论