分页

思考:为什么要分页?

  • 减少数据的处理量

使用Limit分页

语法:select * from user limit startIndex,pageSize;

使用Mybatis实现分页,核心SQL

  1. 接口--<UserMapper.java>
    //分页
    List<User> getUserByLimit(Map<String,Integer>map);
  1. Mapper.XML--<UserMapper.xml>
    <!--    分页-->
    <select id="getUserByLimit" parameterType="map" resultMap="UserMap">
        select * from user limit #{startIndex},#{pageSize}
    </select>
  1. 测试--<UserDaotest.java>
       @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",2);
        List<User> userList = mapper.getUserByLimit(map);
        for (User user : userList) {
            System.out.println(user);
        }

        sqlSession.close();
        }

RowBounds分页

不再使用SQL实现分页

  1. 接口--<UserMapper.java>
       //分页2
    List<User> getUserByRowBounds();
  1. Mapper.XML--<UserMapper.xml>
    <!--分页2-->
    <select id="getUserByRowBounds" resultMap="UserMap">
        select * from user
    </select>
  1. 测试--<UserDaotest.java>
    @Test
    public void getUserByRowBounds() {
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        //RowBounds实现
        RowBounds rowBounds = new RowBounds(1, 2);
        //通过Java代码层面实现分页
        List<User> userList = sqlSession.selectList("com.god.dao.UserMapper.getUserByRowBounds",null,rowBounds);
        for (User user : userList) {
            System.out.println(user);
        }
        sqlSession.close();
    }

分页插件

pageHelper
了解

posted @ 2026-02-14 13:55  Dominus  阅读(1)  评论(0)    收藏  举报