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 婚前女儿生日祝福语简短