首先:1,你的hql语句有问题,其实hql语句的写法与sql语句的写法一样的
String hql = "FROM Student as p WHERE p.stuId p.stuName p.stuAge p.stuSex p.stuClass like ?"
看看你的where条件语句,不是这么写的,应该这么写:
String hql = "select p.stuId,p.stuName,p.stuAge,p.stuSex from Student p where stuClass like ?"
2,关于在query中绑定参数的问题:
query.setParameter(index,value)
或者采用你的那种写法,应该是:
query.setString("stud",stud);
String hql = "FROM Student as p WHERE p.stuId p.stuName p.stuAge p.stuSex p.stuClass like ?"
看看你的where条件语句,不是这么写的,应该这么写:
String hql = "select p.stuId,p.stuName,p.stuAge,p.stuSex from Student p where stuClass like ?"
2,关于在query中绑定参数的问题:
query.setParameter(index,value)
或者采用你的那种写法,应该是:
query.setString("stud",stud);
然后调用么?那我传进取的stu参数怎么找不到
比如说:
.......
String stud = request.getParameter("stud");
xxDao x = new xxDao();
List list = x.queryByList(stud);
......
Servlet
//获取页面属性值
String id = request.getParameter("stuId");
//stuid = Integer.parseInt(stuId);
Integer stuId= new Integer(id);
String stuId_temp = request.getParameter("stuId");
if(stuId_temp!=null && stuId_temp.trim()!=""){
stuId = new Integer(stuId_temp).intValue();
}
stuId = Integer.parseInt(stuId_temp);
String stuName = request.getParameter("stuName");
String stuAge = request.getParameter("stuAge");
String stuSex = request.getParameter("stuSex");
String stuClass = request.getParameter("stuClass");
//构造学生对象
Student stu = new Student();
stu.setStuAge(stuAge);
stu.setStuClass(stuClass);
stu.setStuId(stuId);
stu.setStuName(stuName);
stu.setStuSex(stuSex);
//调用查询方法
String stud = request.getParameter("stud");
StudentDao studao = new StudentDao();
List stuList = studao.queryByLike(stud);
request.setAttribute("list",stuList);
//跳转到搜索页
request.getRequestDispatcher("./search.jsp").forward(request,response);