• mybatis_7分页查询


    思考:为什么要分页?

    • 减少数据的处理量

    7.1、使用Limit分页

    语法:SELECT * from user limit startIndex,pageSize;
    SELECT * from user limit 3;  #[0,n]
    

    使用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",1);
          map.put("pageSize",2);
      
          List<User> userList =  mapper.getUserByLimit(map);
          for (User user : userList) {
          System.out.println(user);
          }
      
          sqlSession.close();
          }
      
      

    7.2、RowBounds分页

    不再使用SQL实现分页,使用java代码实现分页,不推荐使用

    1. 接口

      //分页2
      List<User> getUserByRowBounds();
      
    2. mapper.xml

      <!--分页2-->
      <select id="getUserByRowBounds" resultMap="UserMap">
          select * from  mybatis.user
      </select>
      
    3. 测试

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

    7.3、分页插件

    mybaits-pagehelper

  • 相关阅读:
    类的多重继承
    实例属性和类属性
    协程
    nginx安装与配置
    Linux系统优化及状态监控
    MongoDb安全配置:简单的身份认证
    MongoDB YAML格式的配置文件
    yum使用,使用rpm指令安装rpm,使用dpkg指令安装deb
    MongoDB默认配置
    被锐速加防火墙坑了一下。。。
  • 原文地址:https://www.cnblogs.com/loading955/p/13795005.html
Copyright © 2020-2023  润新知