mysql分页请求参数封装_封装前的Mysql分页处理和条件查询

关于分页处理:

2个参数:offset:当前页面是从哪一条记录开始的

pagesize:每一页显示几条记录

相应的新的SQL语句为select *from t_article limit ?,?

设置的offset和pagesize的缺省值分别为0和5,当无法从页面获取时将使用缺省值。

分页处理计算时需要得到:

当前数据库里的总记录数:select count(*) from t_article,记为total

当前浏览的是第几页 => currentPage = offset / pagesize + 1

总共的页数=> maxPage = total / pagesize,此时需要判断,

当存在余数时,maxPage = total / pagesize + 1

将以上三项传至JSP页面输出显示,代替此前的静态数据,并用于后续的显示计算。

点选具体浏览那一页时要向后台提交的数据:首页:offset = 0

前页:写一个判断,避免出现页码为负数的情况;

offset=${(currentPage - 2 lt 0 ? 0 : (currentPage - 2 ) ) * pagesize }

具体点选的页码(i):当点选的即为当前浏览的页面时,将页码标红;当点选的不是当前浏览的页面时,

offset = $ { ( i - 1 ) * pagesize

下页:写一个判断,避免出现下一页的页码超过了最大页码;

offset = ${ ( currentPage ge maxPage ?(maxPage - 1) : currentPage ) * pagesize }

尾页:offset = ${ maxPage - 1 } * pagesize

设置每一页最大显示多少行,即由管理员自行改变pagesize,通过下拉选择框选择想要的数字传pagesize至后台即可。

EL表达式比较:eq:等于(equal)

ne:不等于(not equal)

gt:大于(greater than)

Lt:小于(less than)

Ge:大于等于

关于简单的条件模糊查询:

SQL语句为:sql = "select * from t_article where title like '%"+title+"%' limit ?,?";

一些注意的点:为了对应查询条件,需要向后台传递title以便分页处理的正常显示。

小问题解决记录:

1.查询时显示乱码: 依旧是在相应Servlet中加入request.setCharacterEncoding("UTF-8");即可解决。

2.一个遗留的问题,之前查询时没有在页面显示创建时间等数据,今天尝试加入但显示效果不佳,后来引入了达成效果。

个人使用的具体格式为:pattern="yyyy-MM-dd HH:mm"

学习参考笔记:https://www.cnblogs.com/penghongwei/p/3409573.html

还有就是导入这个标签时需要手动定义一些东西,之前弄过但忘了,今天又复习了一下...

具体的参考是:https://blog.csdn.net/qq_34288630/article/details/80591095

713b2cf36f019f31f5472f60c8e2e8e7.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值