实现分页的另类代码

 

这个分页首先实在数据库中存入sql语句,然后在java程序中调用

实现把sql语句存入数据库中的代码:

总的记录数
mysql> delimiter//
mysql> create procedure news()
    -> begin
    -> select count(*) from news;
    -> end;
    -> //
Query OK, 0 rows affected(如出现此句则正确)
mysql> delimiter;

 

当前页的信息
mysql> delimiter//
mysql> create procedure news(in nowPage int,in pageSize int)
    -> begin
    -> set @p = (nowPage-1)*pageSize;
    -> set @q = pageSize;
    -> set @COUNT_STRING = concat("SELECT * FROM news LIMIT ",@p,",",@q);
    -> prepare count_string from @COUNT_STRING;
    -> execute count_string;
    -> deallocate prepare count_string;
    -> end
    -> //
Query OK, 0 rows affected
mysql> delimiter;

 

然后在原有代码(我的上一篇博客是实现分页的代码)的基础上作出修改即可实现:

NewsDaoImpl.java 中修改内容:

 

 

 

其它部分不变,然后就可以实现分页的效果了。

 

 

另外,在上篇博客中有一个错误,

在servlet层中判断从页面传来的nPage值的代码部分,在这里不仅要判断nPage是否是空值,

还要判断当点击上一页时nowPage(当前页面的值)是否小于0,因为我们知道最小的一页应该是第一页;

       判断当点击下一页时nowPage是否大于countPage(最大页面值),因为我们知道最大的一页应该是最后一页。

改为:

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值