首页 > 代码库 > JavaWeb分页显示内容——数据库分页查询

JavaWeb分页显示内容——数据库分页查询

    转载请注明原文地址:

    在开发过程中,经常做的一件事,也是最基本的事,就是从数据库中查询数据,然后在客户端显示出来。当数据少时,可以在一个页面内显示完成。然而,如果查询记录是几百条、上千条呢?直接一个页面显示完全的话,表格得多长啊。。。。。。这时,我们可以用分页技术。

    何为分页?效果图如下:

    技术分享

     这里总共查询了100条记录,如果一次性显示的话表格会很多行,用户体验不佳。而我们采用分页显示的话,一页显示10条记录,共十页。用户可以自行翻阅,记录少,清晰显示。

     下面谈谈分页效果的实现,思路有两种:

     其一:一次查询,分批显示。

     就是说,我们可以执行一个数据库查询操作,得到结果集rs。然后,通过指针的移动来显示当前页面的记录。这样,就可以以   rs.absolute(当前页面号*每页记录数)定位到当前页的第一条记录,然后通过while循环显示n条记录(n为每页显示记录数)。在跳页时,只需修改currentPage,即可在重定位到下一页时把当前页面号改掉,重新定位记录指针,通过while遍历显示n条记录。

     参考代码:

    

          <%
            int
intPageSize = 10; //一页显示的记录数 int intRowCount; //记录总数 int intPageCount; //总页数 String strPage; //从表单或URL传送的待显示页码 int intPage; //待显示页码 ,由strPage转换成的整数 //将记录指针定位到待显示页的第一条记录上 sqlRst.absolute((intPage - 1) * intPageSize + 1); //显示数据 int i=0; String user_id, user_name, user_sex, user_phone, user_age; while (i < intPageSize && !sqlRst.isAfterLast()) { user_id = sqlRst.getString(1); user_name = sqlRst.getString(2); user_sex = sqlRst.getString(3); user_phone = sqlRst.getString(4); user_age = sqlRst.getString(5); %> <tr> <td><%=user_id%></td> <td><%=user_name%></td> <td><%=user_sex%></td> <td><%=user_phone%></td> <td><%=user_age%></td> </tr> <% sqlRst.next();//移动记录指针指向下一条记录 i++;//统计当前页已显示多少条记录 } %>

    这种方法是伪分页,是在客户端实现的分页效果。

 

    其二:在服务端分页。跳到第n页才查询、显示第n页内容。

   

JavaWeb分页显示内容——数据库分页查询