分页查询
sql中的分页
格式:select * from 表 limit ?,?;
参数1:开始索引 startIndex ,默认值:0.必须是正数
参数2:每页显示个数pageSize
例如:
select * from paroduct limit 0,5; #第一页,每页显示5条
select * from paroduct limit 5,5; #第二页,每页显示5条
select * from paroduct limit 10,5; #第三页,每页显示5条
案例实现
- 1:编写PageBean,把单页的信息,封装到一个实体中,有利于操作。提供构造方法,统一算法的编写。
当前页中存储了当前页、每页显示个数、以及总分页数、以及查询出来的分页数据(List形式存储) - 2: 确定入口
- 3:编写servlet,获得参数
- 4:编写service,进行分页查询,将所有的数据封装到PageBean中,再把PageBean存储到request域中
- 5:编写dao,查询总的记录数和分页数据
- 6:在jsp中显示分页信息
条件查询
案例分析
利用条件查询筛选出部分问题,条件查询和查询所有功能非常相似,只是需要再将分类和商品名称传给服务器,服务器通过service拼凑sql语句进行具体查询。
我们发现如果完成“条件查询”,必须在之前的“查询所有”时 ,查询所有的分类,从而可以进行条件选择。
案例实现
-
1:确定JavaBean,在商品Roduct对象中,使用“category_id”属性存放分类id。
-
2:修改Servlet,查询所有时,查询所有分类(以分类为条件查询所有)
-
3:修改product.jsp显示所有分类
-
4:修改product.jsp,完善表单
-
5:完善servlet,获得查询条件,并封装到javabean然后传递给service
- 6:完善service接受条件,并拼凑sql查询条件
- 7:完善dao,使用条件和参数