JavaWeb 带条件的分页查询

最终效果图

注意:没有带条件的时候 默认的是第一页数据

条件是组合的  sql->sql的动态变换

注意第二次查询的时候回显问题 就是填完条件后显示完当页数据ok 但是我点击第二页的时候条件还存在着

JavaWeb 带条件的分页查询_第1张图片

此时ListSerevlet不仅要拿到页码 页容量 还要拿到三个条件参数

JavaWeb 带条件的分页查询_第2张图片

封装一下条件  使得它称为一个条件类

JavaWeb 带条件的分页查询_第3张图片

然后把参数封装成一个条件对象

换一下email

JavaWeb 带条件的分页查询_第4张图片

JavaWeb 带条件的分页查询_第5张图片

去空格 .trim()

JavaWeb 带条件的分页查询_第6张图片

获取数据完毕

JavaWeb 带条件的分页查询_第7张图片

JavaWeb 带条件的分页查询_第8张图片

JavaWeb 带条件的分页查询_第9张图片

JavaWeb 带条件的分页查询_第10张图片

JavaWeb 带条件的分页查询_第11张图片

JavaWeb 带条件的分页查询_第12张图片

JavaWeb 带条件的分页查询_第13张图片

%在servlet里拼接的话,那么Dao里写的非空判断就一定是不为空的  -> %是字符串

JavaWeb 带条件的分页查询_第14张图片

JavaWeb 带条件的分页查询_第15张图片

JavaWeb 带条件的分页查询_第16张图片

JavaWeb 带条件的分页查询_第17张图片

作业:扩展:动态排序  orderBy(在条件类中加一个排序列 和排序方式)

前端往实体类传值,传完之后在dao写判断,也是拼接sql

但是此时?的个数我们是不知道的,怎么给(pageIndex - 1)*page.size()赋值呢

最好有两个,最多有6个

JavaWeb 带条件的分页查询_第18张图片

数组要长度 -> 所以我们用list ArrayList也是有序的

如果?有了我就往paramList里面添加参数

使得?的顺序是和我们参数的顺序是一致的

JavaWeb 带条件的分页查询_第19张图片

JavaWeb 带条件的分页查询_第20张图片

JavaWeb 带条件的分页查询_第21张图片

这个参数呢?

//把list转换为一个数组 toArray();

JavaWeb 带条件的分页查询_第22张图片

JavaWeb 带条件的分页查询_第23张图片

count()函数里加之前的if判断

JavaWeb 带条件的分页查询_第24张图片

JavaWeb 带条件的分页查询_第25张图片

JavaWeb 带条件的分页查询_第26张图片

JavaWeb 带条件的分页查询_第27张图片

if代码重复  封装 -> 拼接sql方法

JavaWeb 带条件的分页查询_第28张图片

JavaWeb 带条件的分页查询_第29张图片

JavaWeb 带条件的分页查询_第30张图片

JavaWeb 带条件的分页查询_第31张图片

为什么不返回呢?l(userCondition3sql, paramList);都是引用数据类型,类类

型数据,他们拼接修改之后指向了堆里面的同一块空间,所以不需用返回。

JavaWeb 带条件的分页查询_第32张图片

JavaWeb 带条件的分页查询_第33张图片

JavaWeb 带条件的分页查询_第34张图片

前端处理

 换一下:

或者

JavaWeb 带条件的分页查询_第35张图片

JavaWeb 带条件的分页查询_第36张图片

JavaWeb 带条件的分页查询_第37张图片

JavaWeb 带条件的分页查询_第38张图片

JavaWeb 带条件的分页查询_第39张图片

JavaWeb 带条件的分页查询_第40张图片

JavaWeb 带条件的分页查询_第41张图片

JavaWeb 带条件的分页查询_第42张图片

JavaWeb 带条件的分页查询_第43张图片

JavaWeb 带条件的分页查询_第44张图片

那为什么点击第二页会报错空指针异常呢?

因为前端传的name address等等数据都是空的,null调方法肯定啦

回显:点击刷新完之后,之前填写的数据依然在表单在存在!!!

JavaWeb 带条件的分页查询_第45张图片

都加上

我们是转发进行的的跳转  我们可以把条件对象保存到request域

JavaWeb 带条件的分页查询_第46张图片

JavaWeb 带条件的分页查询_第47张图片

JavaWeb 带条件的分页查询_第48张图片

JavaWeb 带条件的分页查询_第49张图片

JavaWeb 带条件的分页查询_第50张图片

JavaWeb 带条件的分页查询_第51张图片

有个问题:选择完条件之后,第二页没有带条件过去  导致点击第二页查询时不是查询结果所要的,只有第一页才显示满足条件的数据

我点击第二页应该是把表单进行提交  把之前的查询结果一起带到第二页

JavaWeb 带条件的分页查询_第52张图片

JavaWeb 带条件的分页查询_第53张图片

JavaWeb 带条件的分页查询_第54张图片

JavaWeb 带条件的分页查询_第55张图片

JavaWeb 带条件的分页查询_第56张图片

JavaWeb 带条件的分页查询_第57张图片

加上trim()

JavaWeb 带条件的分页查询_第58张图片

你可能感兴趣的:(JacaEE,java,数据库,开发语言)