mybatis学习笔记6---分页的使用

7.limit分页

分页是为了减少数据的处理量

使用分页语法

select * from user limit 0,3;

如果第一个参数没有给定,默认从0开始。

7.1使用mybatis来实现limit分页:

  • 1.分页接口UserMapper.java

        //limit分页
        List<User> getUserBylimit(Map<String,Integer> map);
    
  • 2.UserMapper.xml

      <!--结果集映射-->
        <resultMap id="UserMap" type="com.kuang.pojo.User">
            <result column="id" property="id"></result>
            <result column="name" property="name"></result>
            <result column="pwd" property="password"></result>
        </resultMap>
    
    <!--分页查询,使用了结果集映射,resultMap-->
        <select id="getUserBylimit" parameterType="map" resultMap="UserMap">
            select * from  mybatis.user limit #{startIndex},#{pageIndex};
        </select>
    

    这里我们使用了Map,所以parameterType必须是map(接口里面的参数)

  • 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",2);
             map.put("pageIndex",5);
             List<User> list = mapper.getUserBylimit(map);
             for (User user:list
                  ) {
          
          
                 System.out.println(user);
             }
    
             sqlSession.close();
         }
    
    
    

7.2RowBounds分页

  • 接口

       //rowBounds分页
        List<User> getUserByRowBounds();
    
  • UserMapper.xml

       <!--结果集映射-->
        <resultMap id="UserMap" type="com.kuang.pojo.User">
            <result column="id" property="id"></result>
            <result column="name" property="name"></result>
            <result column="pwd" property="password"></result>
        </resultMap>
    
     
    <select id="getUserByRowBounds" parameterType="map"  resultMap="UserMap">
            select * from mybatis.user
        </select>
        
    
  • 测试类

         //RowBounds分页
        @Test
        public void gerUserByBounds(){
          
          
            SqlSession sqlSession = MybatisUtils.getSqlSession();
            RowBounds rowBounds = new RowBounds(1,3);
    
            //通过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.分页插件

[官方开源]
添加链接描述
添加链接描述

猜你喜欢

转载自blog.csdn.net/weixin_45263852/article/details/114413950