• Mybatis-04-分页


    分页

    思考:为什么要分页?

    • 减少数据的处理量

    1 使用limit分页

    select * from user limit startIndex,pageSize;
    

    使用Mybatis实现分页,核心是SQL

    1. 接口
    List<User> getUserByLimit(HashMap<String,Integer> map);
    
    1. Mapper.XML
    <!--分页-->
    <select id="getUserByLimit" parameterType="map" resultType="User">
        select * from mybatis.user limit #{startIndex},#{pageSize};
    </select>
    
    1. 测试

      @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();
      }
      

    keymap: list.for 可以快速生成增强for循环

    2 RowBounds分页

    不再使用SQL实现分页

    1. 接口

      List<User> getUserByRowBounds();
      
    1. mapper.xml

      <!--分页-->
      <select id="getUserByRowBounds" resultType="User">
          select * from mybatis.user ;
      </select>
      
    2. 测试

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

    3 分页插件

    Mybatis pageHelper

  • 相关阅读:
    HDU6216
    HDU6213
    HDU6191(01字典树启发式合并)
    HDU4825(01字典树)
    HDU5293(SummerTrainingDay13-B Tree DP + 树状数组 + dfs序)
    HDU2196(SummerTrainingDay13-D tree dp)
    HDU6201
    HDU6205
    HDU6195
    ffmpeg.编译20200719
  • 原文地址:https://www.cnblogs.com/CodeHuba/p/13463294.html
Copyright © 2020-2023  润新知