JSP多条件查询

JSP多条件查询
开发工具与关键技术:Eclipse java
作者:木林森
撰写时间:2020年 9 月 8 日
在做项目的时候,考虑到用户对信息的获取,我们经常会用到精确查询和模糊查询,但是有些信息用它们可能不能获取到,或者说能够获取但是代码量会非常大,在写代码的过程中还要有非常清晰的思路并且得有丰富的知识储备。这时候的多条件查询相比起来会简单很多,下面我将分享一下我是如何在jsp中实现多条件查询的。
众所周知,多条件查询一般用的都是下拉框,而且大部分都是一个下拉框改变然后触发另一个下拉框绑定,所以我用的就是常见的校园的学院下拉框改变触发专业和年级下拉框绑定的多条件查询。首先建一个Student类,存放学生信息和外键id,再建一个Bsgrid类,用于返回数据(如表格条数,状态等),然后就是多条件查询的页面了(jsp页面),我的多条件查询下拉框如下图:
JSP多条件查询

注意:我这里没有用from表单的action提交,用的是点击事件触发方法,然后方法里面写提交地址。
在点击触发方法后,根据下拉框id获取到对应的id,然后进行判断再渲染表格,渲染时写提交的地址,提交地址是servlet中的List方法,因为做一个项目需要的方法会很多,所以我在servlet中先定义一个方法名,然后是根据方法名的不同来调用对应的方法的,例子我定义的方法名为mthname,当mthname=List时就调用List方法。JSP页面点击触发的方法:
JSP多条件查询

Servlet中调用的方法
JSP多条件查询

在Servlet中主要是获取到jsp页面传过来的数据,然后将string类型转成int,再调用DaoImpl里面的findStudentName方法。值得注意的是,如果你想做的多条件查询是四个下拉框同时有数据才能查询的话,就不需要写判断,直接写一条查询语句和查询表格信息就行;如果你要做的效果是一个下拉框选择了内容就可以查询,或者是两个、三个、四个都可以查询,那么你就需要在方法里面再写一些判断了,每种情况都写上。当然你的查询语也得写多条,每一种情况所用到的查询语句都不一样,因为代码量有点多,下面给出的是比较有代表性对的代码,其他三种类似。

JSP多条件查询
JSP多条件查询

最后别忘了关闭流和返回值DbUtil.close(conn, ps, rs);return students;
最后想说一句,如果你的数据查询出来是重复的,别忘了好好检查你的查询语句喔,最好在Navicat中先查询出来!查询效果:
JSP多条件查询