mybatis学习3之分页的实现

前言

分页可以通过数据库层面或者Java层面甚至插件都可以实现

一、分页是什么?

分页可以这样理解,我们想让每页显示多少数据就显示多少数据。

二、作用

加快数据检索速率,减少数据的使用量

三、如何实现

通过数据库层面

<select id="getUserByLimit" resultMap="userMap" parameterType="map">
        select * from mybatis.user limit #{startIndex},#{pageSize}
</select>
@Test
    public void getUserByLimit(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        HashMap<String, Integer> map = new HashMap<>();
        map.put("startIndex",0);
        map.put("pageSize",4);
        List<User> userList = mapper.getUserByLimit(map);
        for (User user : userList) {
            System.out.println(user);
        }
        sqlSession.close();
    }

通过Java层面

<select id="getUserByLimit2" resultMap="userMap" >
        select * from mybatis.user
</select>

通过RowBounds实现

@Test
    public void getUserByLimit2(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        //通过RowBounds实现
        RowBounds rowBounds = new RowBounds(0,4);
        //java层面的分页实现
        List<User> userList = sqlSession.selectList("com.shan.dao.UserMapper",null, rowBounds);
        for (User user : userList) {
            System.out.println(user);
        }
        sqlSession.close();
    }

通过插件实现(了解)

可以使用分页插件PageHelper去实现,了解一下即可!

总结

只要get到一个点就够了,分页的实质就是limit!

上一篇:MySql数据库2【常用命令行】


下一篇:2021-11-05