> IT面试 >

在ORACLE 大数据量下的分页解决方法。一般用截取ID 方法,还有是三层 嵌套方法

答:一种分页方法
<%
int i=1;
int numPages=14;
String pages = request.getParameter(“page”) ;
int currentPage = 1;
currentPage = (pages==null)?(1):{Integer.parseInt(pages)}
sql = “select count(*) from tables”;
ResultSet rs = DBLink.executeQuery(sql) ;
第36 页共59 页
while(rs.next()) i = rs.getInt(1) ;
int intPageCount=1;
intPageCount=(i%numPages==0)?(i/numPages):(i/numPages+1);
int nextPage ;
int upPage;
nextPage = currentPage+1;
if (nextPage>=intPageCount) nextPage=intPageCount;
upPage = currentPage-1;
if (upPage<=1) upPage=1;
rs.close();
sql=”select * from tables”;
rs=DBLink.executeQuery(sql);
i=0;
while((i<numPages*(currentPage-1))&&rs.next()){i++;}
%>
//输出内容
//输出翻页连接
合计:<%=currentPage%>/<%=intPageCount%>页
<a href=”List.jsp?page=1″>第一页</a>
<a href=”List.jsp?page=<%=upPage%>”>上一页</a>
<%
for(int j=1;j<=intPageCount;j++){
if(currentPage!=j){
%>
<a href=”list.jsp?page=<%=j%>”>[<%=j%>]</a>
<%
}else{
out.println(j);
}
}
%>
<a href=”List.jsp?page=<%=nextPage%>”>下一页</a>
<a href=”List.jsp?page=<%=intPageCount%>”>最后页</a> (责任编辑:IT)