Mybatis分页三种方法的使用

1、使用Limit分页

使用Mybatis实现分页,核心SQL

select * from user limit startIndex,pageSize
  1. UserMapper接口

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

2、RowBounds分页

不使用SQL语句实现分页

  1. UserMapper接口

    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(0, 2);
    
        //通过java代码层面实现分页
        List<User> userList = sqlSession.selectList("com.tt.dao.UserMapper.getUserByRowBounds",null,rowBounds);
    
        for (User user : userList) {
            System.out.println(user);
        }
        sqlSession.close();
    }
    

3、分页插件

pageherlper分页插件的使用:官方文档https://pagehelper.github.io/docs/howtouse/

发布了31 篇原创文章 · 获赞 52 · 访问量 2086

猜你喜欢

转载自blog.csdn.net/qq_41256881/article/details/105369157
今日推荐