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热门推荐
7 简短的二胎祝福语
10 简短霸气女儿生日 祝福语
11 祝福语高考小众诗句简短
12 元旦祝福语20秒简短
13 老师过年祝福语大全 简短
14 一生祝福语简短
15 产检祝福语简短霸气
16 朋友店开张祝福语简短
17 生日爱情祝福语大全简短
18 朋友女儿生日祝福语 简短