数据库查询结果分页显示思路

来源:互联网 发布:自考网络辅导 编辑:程序博客网 时间:2024/05/29 07:58

数据库查询结果分页显示思路,通过计算Result Set指针位置实现分页显示

//设置页面显示数量int pageSize;//获取要显示页面 int currentPage;//需要定义的参数Connection con;Statement sta;ResultSet rs;//Statement 或者 PreparedStatement一定要设置为可滚动的,即:sta=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);rs=sta.executeQuery(/*String*/sql);/*sql为数据库查询语句*///获取结果记录总数 totalRecordrs.last();//rs指针指向最后一行/int totalRecord=rs.getRow();//最后一行的行号即为记录总数//总页面数int totalPage=(totalRecord%pageSize==0?totalRecord/pageSize:totalRecord/pageSize+1);//计算指针位置int rsLocation=(currentPage-1)*pageSize;//移动指针if (rsLocation == 0)    rs.beforeFirst();//指针指向beforeFirstelse    rs.absolute(ab);//指针指向计算得出的位置//对结果进行操作for(int i=0;i<pageSize&&rs.next();i++){   do something with rs;   }

显示查询结果不必翻一次页重新从头到尾查询一次数据库,在执行过一次查询后可以将rs指针保存在一个对象或者bean中,翻页的时候如果对象中存在rs就直接获取rs然后重新定位,如果不存在说明是第一次执行

首次查询结果耗时较长
首次查询

执行翻页或者跳转耗时非常少
查询后翻页

0 0