加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Mybatis-分页

发布时间:2020-12-14 18:04:45 所属栏目:大数据 来源:网络整理
导读:分页 目录 分页 1. 使用limit分页 2. 使用Mybatis实现分页 1. 使用limit实现 2. 使用RowBounds实现分页(了解) 3. 分页插件(了解) 为什么要分页: 减少数据的处理量 1. 使用limit分页 select * from user limit 0,2;select * from user limit 2,2; limit n,m==

分页

目录
  • 分页
    • 1. 使用limit分页
    • 2. 使用Mybatis实现分页
      • 1. 使用limit实现
      • 2. 使用RowBounds实现分页(了解)
      • 3. 分页插件(了解)

为什么要分页:

  • 减少数据的处理量

1. 使用limit分页

select * from user limit 0,2;
select * from user limit 2,2;

limit n,m ==> n为页起始的位置(从0开始),m为每页的个数

2. 使用Mybatis实现分页

核心 SQL

1. 使用limit实现

接口

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

UserMapper.xml

<!--分页-->
<select id="getUserByLimit" parameterType="map" resultMap="UserMap">
    select * from mybatis.user limit #{startIndex},#{pageSize};
</select>

测试

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

    Map<String,Integer> 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实现分页

接口

//分页(RowBounds)
List<User> getUserByRowBounds(Map<String,Integer> map);

UserMapper.xml

<!--RowBounds分页-->
<select id="getUserByRowBounds" resultMap="UserMap">
    select * from mybatis.user
</select>

测试

@Test
public void testGetUserByRowBounds() {
    SqlSession sqlSession = MybatisUtils.getSqlSession();

    //RowBounds实现
    RowBounds rowBounds = new RowBounds(0,2);

    //通过Java代码层面实现分页
    List<User> userList = sqlSession.selectList("com.wang.dao.UserMapper.getUserByRowBounds",null,rowBounds);

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

    sqlSession.close();
}

3. 分页插件(了解)

https://pagehelper.github.io/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读