jsp如何按指定条件进行模糊查询
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp如何按指定条件进行模糊查询相关的知识,希望对你有一定的参考价值。
比如我在一个页面上通过下拉列表选择了查询条件。。如何利用MVC模式进行对应的模糊查询
其实你只要在JSP页面选择了查询条件,将查询条件这些传入Servlet中进行处理,在Servlet中调用相应的数据库处理dao。模糊查询就是在这个dao的sql中进行定义的,需要你根据需要写出相应的sql。比如查询姓张的学生:sql = "select * from student_inf where stu_name like '张%'"
这仅是个举例,具体你看情况而定。
模糊查询就是在查询数据库的时候在sql上做文章,至于mvc模式,最简单的实现就是jsp+servlet+javaBean。如果楼主不清楚,查阅点资料。
希望我的回答对你有所帮助。 参考技术A 这个不是三言两语能解决的~
方法不止一个~
首先弄懂MVC
或用AJAX 参考技术B 模糊查询一般是数据库的查询语句,将你从页面上选择的查询条件传到数据访问层,然后查询语句里用like '%你的条件%'来模糊查询
mysql 条件查询逻辑查询模糊查询通配符转义字符
条件查询select 查询列表 from 表名 where 筛选条件;
分类:
按条件表达式筛选 =,!=
按逻辑表达式筛选 and or not
模糊查询 like、between and、in、is null
查询工资大于12000的员工信息
SELECT * FROM employees WHERE salary >12000;
查询部门编号不等90的员工名和部门编号,要查询的编号
SELECT last_name,department_id FROM employees WHERE department_id <>90;
按逻辑表达式筛选
查询工资在10000到20000之间的员工名、工资以及奖金
SELECT last_name ,salary,commission_pct FROM employees WHERE salary<20000
AND salary>10000;
查询部门编号不是在90到110之间,或者工资高于15000的员工
SELECT
*
FROM employees
WHERE department_id <90
OR department_id >110
OR salary>15000;
#或者
SELECT *
FROM employees
WHERE NOT(department_id>=90 AND department_id<=110) OR salary>15000;
模糊查询
like,查询员工名中包含字符a的员工信息
SELECT
*
FROM
employees
WHERE
last_name LIKE ‘%a%‘; //百分号%是通配字符,代表其他任意多个字符,_代表任意一个字符
案例:查询员工名中第三个字符为e,第五个字符为a的员工名和工资
SELECT
last_name,
salary
FROM employees
WHERE
last_name LIKE ‘__e_a%‘; //2个下划线+e+一个下划线+a
案例:查询员工名中第二个字符为_的员工名,正常转义字符\
SELECT
last_name
FROM
employees
WHERE
last_name LIKE ‘_\_%‘;
自定义转义字符
SELECT
last_name
FROM
employees
WHERE
last_name LIKE‘_@_%‘ ESCAPE ‘@‘;
以上是关于jsp如何按指定条件进行模糊查询的主要内容,如果未能解决你的问题,请参考以下文章
在JSP页面通过form表单传递5个模糊查询的条件 如何 在底层 写模糊查询 方法
JSP+Servlet+javabean+oracle实现页面多条件模糊查询
JSP+Servlet+javabean实现页面多条件模糊查询