这个主要是在sql端实现的,只要页面参数选择正确:
比如:
select * from emp where ename like '_A%'
查询员工姓名中包含E的员工信息
select * from emp where ename like '%E%'
查询20部门员工姓名中包含E的员工信息
查询20部门员工,职位为'MANAGER',姓名中包含E的员工信息
查询20部门员工,职位为'MANAGER',姓名的第二个字符为A,最后一个字符为E的员工信息
查询20部门员工,职位为'MANAGER',姓名的包含S并且包含E的员工信息
其实你只要在JSP页面选择了查询条件,将查询条件这些传入Servlet中进行处理,在Servlet中调用相应的数据库处理dao。模糊查询就是在这个dao的sql中进行定义的,需要你根据需要写出相应的sql。比如查询姓张的学生:sql
=
"select
*
from
student_inf
where
stu_name
like
'张%'"
这仅是个举例,具体你看情况而定。
模糊查询就是在查询数据库的时候在sql上做文章,至于mvc模式,最简单的实现就是jsp+servlet+javaBean。如果楼主不清楚,查阅点资料。
希望我的回答对你有所帮助。
几乎没有对的地方,首先你的时间比较不对.应该首先把字符串转化为日期才能和数据库里的数据进行比较.如果你用的是oracle,应该这样写:if(!begindate.equals("")){
wheresql+=" and time>=to_date('"+begindate+"','yyyy-mm-dd hh24:mi:ss')"
}
if(!enddate.equals("")){
wheresql+=" and time2<=to_date('"+enddate+"','yyyy-mm-dd hh24:mi:ss')"
}
此外,like也不是这么用的,like不能和等号写一起,应该是:
if(shiyou.equals("username")){
wheresql+=" and username like '%"+shiyou+"%'"
}
String shiyou=com.hr.basic.Parm.getValueStr(request,"username","")
请问你的shiyou是"来访事由"的意思吗?
但是你为什么参数里为什么用"username"?而不是用"来访事由"对应的输入框的
<input type="text" name="d" id="d" ></td>
中的"d"呢?
如果真实这样的话你把name="d"改为 name="username".
你为什么要用"来访事由"和"username"做匹配呢?真的搞不懂.
if(shiyou.equals("username")){
wheresql+=" and username like '%"+shiyou+"%'"
} 你知道这段代码的含义吗?如果if条件成立,执行完将会是
wheresql+=" and username like '%username%'"
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)