就这也太简单了吧...(详细解说分页查询与多条件搜索)

一、分页查询介绍

为什么要分页查询?
1.对于用户体验来说,一页展示所有的数据,眼花缭乱,不便于查找需要的内容,体验较差。
2.对于mysql服务器来说,一次性查询所有的数据,服务器的负担较重,如果有几十万、上百万条数据,如果一次性查询所有,将会是一个灾难

分页查询原理:
把数据表中的所有的数据,分成很多也页来展示,例如:
有100条记录,指定每页显示5条,那么将会分20页来展示这些记录
在这里插入图片描述
分页查询sql语句:
SELECT * FROM user LIMIT offset,rows;

limit offset limit;
offset,偏移量,又称为”略过”多少条数据
limit,限制量,也就是限制查询多少条数据

例如:
limit 5,2; 表示略过前面的5条记录,查询后面的2条

二、分页数据封装

在这里插入图片描述
由于不仅查询用户列表时,需要分页查询,查询商品列表、订单列表、优惠券列表等时,都需要分页展示,所以我们要将分页的数据进行封装
声明一个PageBean,封装分页的数据,例如:
在这里插入图片描述
在UserListServlet中,将之前的一次性查询所有用户的方法修改为分页查询
在这里插入图片描述
编写service业务层代码
在这里插入图片描述
编写dao层代码
目的就是在SQL语句中拼接:LIMIT offset,pagesize;
在这里插入图片描述
由于将PageBean对象存储到request域对象,所以我们在list.jsp中重新遍历
由于list.jsp代码过于繁琐,直接参考 list.jsp 文件

三、多条件搜索用户

在这里插入图片描述
分析思路:

分页查询的SQL语句:
SELECT * FROM user LIMIT 0,2;

多条件搜索:
SELECT * FROM user WHERE name LIKE ‘张%’ AND address LIKE ‘xx%’ AND email = ‘xx%’
LIMIT 0,2;

所以,多条件搜索的思路就是:在原来的SQL语句的基础上,拼接上WHERE条件

修改list.jsp页面中,表单的提交地址

在这里插入图片描述
在UserListServlet中,接收表单提交过来的数据
在这里插入图片描述
在这里插入图片描述
最后,在dao层,获取map集合中的条件,然后拼接到sql语句中

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SuperProgMan.SYJ

你的鼓励将是我创作更大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值