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

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

  • 相关阅读:
    Java并发编程 LockSupport源码分析
    [No000010F]Git8/9-使用GitHub
    [No000010E]Git7/9-标签管理
    [No000010D]Git6/9-分支管理
    [No000010C]Git5/9-远程仓库
    [No000010B]Git4/9-时光机穿梭
    [No000010A]Git3/9-创建版本库
    [No0000109]Git2/9-安装Git
    [No0000108]Git1/9-Git简介与入门
    [No000011D].NETCORE1/19-.NET Core 指南
  • 原文地址:https://www.cnblogs.com/mytJava/p/13055960.html
Copyright © 2011-2022 走看看