mybatis 分页参数 RowBounds

分页参数 RowBounds

mybatis不仅支持分页,它还内置一个专门处理分页的类 —— RowBounds源码。

package org.apache.ibatis.session;

/**
 * @author Clinton Begin
 */
public class RowBounds {

 //设置默认偏移量和默认限制条数。
  public static final int NO_ROW_OFFSET = 0;
  public static final int NO_ROW_LIMIT = Integer.MAX_VALUE;
  //根据无参构造方法构造默认对象。
  public static final RowBounds DEFAULT = new RowBounds();

  private int offset;
  private int limit;

  public RowBounds() {
    this.offset = NO_ROW_OFFSET;
    this.limit = NO_ROW_LIMIT;
  }

  public RowBounds(int offset, int limit) {
    this.offset = offset;
    this.limit = limit;
  }

  public int getOffset() {
    return offset;
  }

  public int getLimit() {
    return limit;
  }

}

offset属性指的是偏移量,即从第几行开始读取记录。limit是限制条数,也就是每次读取多少条记录。
使用它的方法十分简单,就是在原有的接口上新增这个分页参数。

    public List findRolesByMap(@Param("param1")RoleParam1 param1,@Param("param2")RoleParam2 param2,RowBounds rowBounds);

在我们的映射文件中不需要做任何修改。直接给出测试代码。

sqlSession = SqlSessionFactoryUtils.openSession();
            RoleMapper roleMapper = sqlSession.getMapper(RoleMapper.class);
            RoleParam1 param1 = new RoleParam1();
            RoleParam2 param2 = new RoleParam2();
            param1.setNote("1");
            param2.setRoleName("1");
            RowBounds rowBounds = new RowBounds(0,2);
            List role = roleMapper.findRolesByMap(param1,param2,rowBounds);

你可能感兴趣的:(Mybatis)