Mybatis之RowBounds分页原理详解
Mybatis可以通过传递RowBounds对象,来进行数据库数据的分页操作,然而遗憾的是,该分页操作是对ResultSet结果集进行分页,也就是人们常说的逻辑分页,而非物理分页。
RowBounds对象的源码如下:
publicclassRowBounds{
publicstaticfinalintNO_ROW_OFFSET=0;
publicstaticfinalintNO_ROW_LIMIT=Integer.MAX_VALUE;
publicstaticfinalRowBoundsDEFAULT=newRowBounds();
privateintoffset;
privateintlimit;
publicRowBounds(){
this.offset=NO_ROW_OFFSET;
this.limit=NO_ROW_LIMIT;
}
publicRowBounds(intoffset,intlimit){
this.offset=offset;
this.limit=limit;
}
publicintgetOffset(){
returnoffset;
}
publicintgetLimit(){
returnlimit;
}
}
对数据库数据进行分页,依靠offset和limit两个参数,表示从第几条开始,取多少条。也就是人们常说的start,limit。
下面看看Mybatis的如何进行分页的。
org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleRowValuesForSimpleResultMap()方法源码。
privatevoidhandleRowValuesForSimpleResultMap(ResultSetWrapperrsw,ResultMapresultMap,ResultHandler>resultHandler,RowBoundsrowBounds,ResultMappingparentMapping)
throwsSQLException{
DefaultResultContext热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短