HIbernate中,用HQL语句来查询数据。
若是查询一条数据,可以这样:
try {
String name = request.getParameter("name");
List<User> users = new ArrayList<User>();
Session session = sessionFactory.openSession();
Query query = session.createQuery("from User where name='"+name+"'");
users = query.list();
request.setAttribute("user", users.get(0));// 将用户集合放置到request中
} catch (Exception e) {
e.printStackTrace();
}
// 将数据传递到user_change.jsp页面显示
request.getRequestDispatcher("user_change.jsp").forward(request,response);
}
由于users是用户集合,所有不能直接查询。通过
request.setAttribute("user", users.get(0));// 将用户集合放置到request中
users.get(0)获得集合中index为0的用户,即将集合转换成User对象。