这个分页首先实在数据库中存入sql语句,然后在java程序中调用
实现把sql语句存入数据库中的代码:
总的记录数
mysql>delimiter//
mysql>createprocedurenews()
->begin
->selectcount(*)fromnews;
->end;
->//
QueryOK,0rowsaffected(如出现此句则正确)
mysql>delimiter;
当前页的信息
mysql>delimiter//
mysql>createprocedurenews(innowPageint,inpageSizeint)
->begin
->set@p=(nowPage-1)*pageSize;
->set@q=pageSize;
->set@COUNT_STRING=concat("SELECT*FROMnewsLIMIT",@p,",",@q);
->preparecount_stringfrom@COUNT_STRING;
->executecount_string;
->deallocatepreparecount_string;
->end
->//
QueryOK,0rowsaffected
mysql>delimiter;
然后在原有代码(我的上一篇博客是实现分页的代码)的基础上作出修改即可实现:
NewsDaoImpl.java中修改内容:



其它部分不变,然后就可以实现分页的效果了。
另外,在上篇博客中有一个错误,
在servlet层中判断从页面传来的nPage值的代码部分,在这里不仅要判断nPage是否是空值,
还要判断当点击上一页时nowPage(当前页面的值)是否小于0,因为我们知道最小的一页应该是第一页;
判断当点击下一页时nowPage是否大于countPage(最大页面值),因为我们知道最大的一页应该是最后一页。

改为:

本文介绍了一种使用MySQL存储过程实现数据库分页查询的方法。通过创建存储过程来获取总记录数及特定页面的数据,实现了在Java应用程序中进行高效分页查询的功能。此外,还讨论了在Servlet层中对页面跳转逻辑的正确处理。
8749

被折叠的 条评论
为什么被折叠?



