1. 程式人生 > >mybatis 分頁引數 RowBounds

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<Role> 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> role = roleMapper.findRolesByMap(param1,param2,rowBounds);