mybatis 分頁引數 RowBounds
阿新 • • 發佈:2019-01-01
分頁引數 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);