zoukankan      html  css  js  c++  java
  • Mybatis 7、分页

    7、分页

    思考:为什么要分页?

    • 减少数据的处理量

    7.1、使用Limit分页

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

    LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。

    LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。

    select * from user limit 3; --如果只给定一个参数,它表示返回最大的记录行数目:
    select * from user limit 5,10; --// 检索记录行 6-15 
    

    如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1)。

    使用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实现分页

    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.kuang.dao.UserMapper.getUserByRowBounds",null,rowBounds);
      
          for (User user : userList) {
          System.out.println(user);
          }
      
          sqlSession.close();
          }
      

    7.3、分页插件

    1569896603103

    了解即可,万一 以后公司的架构师,说要使用,你需要知道它是什么东西!

  • 相关阅读:
    JavaScript的关键点
    博客开始
    CCF
    java-CCF+杂七杂八
    【软件工程】需求分析V2再整理
    汇编 书上实验
    组原2
    chrome主页被绑架
    【软件工程】乱的一遭
    【我希望我能鼓起勇气】汇编语言
  • 原文地址:https://www.cnblogs.com/mytJava/p/13055960.html
Copyright © 2011-2022 走看看