Limit分页

发布于:2022-12-04 ⋅ 阅读:(576) ⋅ 点赞:(0)

思考:为什么要分页?

  减少数据的处理量

使用Limit分页

1.语法:SELECT * FROM USER LIMIT STARTINDEX,PAGESIZE;

2.SELECT * FROM USER LIMIT 0,3 ;#[0,N]

使用mybatis 实现分页,核心SQL

1.接口

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

2.Mapper.xml

<select id="getUserByLimit" resultMap="UserMap" parameterType="map">
    select * from user limit #{startIndex},#{pagSize}
</select>

3.测试

@Test
public void getUserByLimit() {
    SqlSession sqlSession = MybatisUtils.getSqlSession();
    UserMapper mapper = sqlSession.getMapper(UserMapper.class);
    HashMap<String, Integer> map = new HashMap<String,Integer>();
    map.put("startIndex", 0);
    map.put("pagSize", 2);
    List<User> UserLimit = mapper.getUserByLimit(map);
    for (User user : UserLimit) {
        System.out.println(user);
    }


    sqlSession.close();

}

二.RowBounds分页

不再使用SQl实现分页

        1.接口

//分页2 通过RowBounds实现
List<User>getUserByRowBounds();

        2.mapper.xml

<select id="getUserByRowBounds" parameterType="map" resultMap="UserMap">
    select * from user
</select>

        3.测试

@Test
public void getUserByRowBounds(){
    SqlSession sqlSession = MybatisUtils.getSqlSession();
    //RowBounds实现
    RowBounds rowBounds = new RowBounds(0, 2);
    //通过java代码层面实现分页
    List<User> userlist = sqlSession.selectList("com.xu.dao.UserMapper.getUserByRowBounds",null,rowBounds);

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


    sqlSession.close();
}

三.分页插件

   MyBatis 分页插件 PageHelpericon-default.png?t=M85Bhttps://pagehelper.github.io/

 照着文档做即可如何使用分页插件 (pagehelper.github.io)icon-default.png?t=M85Bhttps://pagehelper.github.io/docs/howtouse/#1-%E5%BC%95%E5%85%A5%E5%88%86%E9%A1%B5%E6%8F%92%E4%BB%B6

了解知道是什么东西就好了

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到