为什么要分页?

    • 减少数据的处理量

    使用Limit分页:

    1. 语法 select * from user limit startIndex, pageSize;

    startIndex为起始位置,从哪里开始查,pageSieze为每页显示多少个。

    select * from user limit 3;
    # 相当于select * from user limit 0,3;
    

    使用Mybatis实现分页,核心为SQL。

    1. 接口

      List<User> getUserByLimit(Map<String, Integer> map);
      
    2. Mapper.xml

      <!--分页实现查询-->
      <select id="getUserByLimit" parameterType="map" resultMap="UserMap">
           select *
           from mybatis.user limit #{startIndex},#{pageSize};
       </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("pageSize", 2);
      
           List<User> userList =  mapper.getUserByLimit(map);
      
           for (User user : userList) {
               System.out.println(user);
           }
      
           sqlSession.close();
       }