Query query = session.createQuery("from User"); List list = query.list();
我用的Struts+H,我想在页面输出.关键查询出多有记录的那个方法不知道是什么
static ArrayList<User> query(User user){ Session s = null; try{ s = HibernateUtil.getSession(); String hql = "from User as user where user.name=:name"; Query query = s.createQuery(hql); query.setString(0, "name"); //query.setString("name", name); List<User> list = query.list(); ArrayList<User> userList = (ArrayList<User>)list; return userList; }finally{ if(s!=null) s.close(); } }
这个我试了,返回的是一个LIST类型,然后 public ActionForward showUser(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { UserBiz biz=new UserBiz(); List list=biz.getAll(); request.setAttribute("userlist", list); return mapping.findForward("showUser"); }页面: <logic:iterate id="user" name="userlist"> ${user.userName } ${user.password } </logic:iterate>然后就出错了.这个错误我看不懂.....: java.lang.NoSuchMethodError: org.hibernate.hql.antlr.HqlBaseParser.recover(Lantlr/RecognitionException;Lantlr/collections/impl/BitSet;)V at org.hibernate.hql.antlr.HqlBaseParser.statement(HqlBaseParser.java:179) at org.hibernate.hql.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:248) at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:157) at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111) at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77) at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56) at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72) at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133) at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112) at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623) at com.struts.biz.UserBiz.getAll(UserBiz.java:36) at com.struts.action.UserAction.showUser(UserAction.java:54) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:269) at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170) at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58) at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67) at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51) at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190) at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304) at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190) at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619)
static ArrayList <User> query(User user){ Session s = null; try{ s = HibernateUtil.getSession(); String hql = "from User as user where user.name=:name"; Query query = s.createQuery(hql); query.setString(0, "name"); //query.setString("name", user.getName()); List <User> list = query.list(); ArrayList <User> userList = (ArrayList <User>)list; return userList; }finally{ if(s!=null) s.close(); } }
知道了.是我HQL语句没有区分大小写,直接都写成小写的了! 谢谢各位的帮助了.!
static ArrayList <User> query(User user){ Session s = null; try{ s = HibernateUtil.getSession(); String hql = "from User as user where user.name=:name"; Query query = s.createQuery(hql); query.setString(0, "name"); //query.setString("name", user.getName()); List <User> list = query.list(); ArrayList <User> userList = (ArrayList <User>)list; return userList; }finally{ if(s!=null) s.close(); } }HibernateUtil是我写的一个连接的工具类,好像不是特别麻烦
Query query = session.createQuery("from User");
List list = query.list();
Session s = null;
try{
s = HibernateUtil.getSession();
String hql = "from User as user where user.name=:name";
Query query = s.createQuery(hql);
query.setString(0, "name");
//query.setString("name", name);
List<User> list = query.list();
ArrayList<User> userList = (ArrayList<User>)list;
return userList;
}finally{
if(s!=null)
s.close();
}
}
public ActionForward showUser(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
UserBiz biz=new UserBiz();
List list=biz.getAll();
request.setAttribute("userlist", list);
return mapping.findForward("showUser");
}页面:
<logic:iterate id="user" name="userlist">
${user.userName }
${user.password }
</logic:iterate>然后就出错了.这个错误我看不懂.....:
java.lang.NoSuchMethodError: org.hibernate.hql.antlr.HqlBaseParser.recover(Lantlr/RecognitionException;Lantlr/collections/impl/BitSet;)V
at org.hibernate.hql.antlr.HqlBaseParser.statement(HqlBaseParser.java:179)
at org.hibernate.hql.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:248)
at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:157)
at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56)
at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72)
at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)
at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)
at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623)
at com.struts.biz.UserBiz.getAll(UserBiz.java:36)
at com.struts.action.UserAction.showUser(UserAction.java:54)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:269)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170)
at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
Session s = null;
try{
s = HibernateUtil.getSession();
String hql = "from User as user where user.name=:name";
Query query = s.createQuery(hql);
query.setString(0, "name");
//query.setString("name", user.getName());
List <User> list = query.list();
ArrayList <User> userList = (ArrayList <User>)list;
return userList;
}finally{
if(s!=null)
s.close();
}
}
谢谢各位的帮助了.!
Session s = null;
try{
s = HibernateUtil.getSession();
String hql = "from User as user where user.name=:name";
Query query = s.createQuery(hql);
query.setString(0, "name");
//query.setString("name", user.getName());
List <User> list = query.list();
ArrayList <User> userList = (ArrayList <User>)list;
return userList;
}finally{
if(s!=null)
s.close();
}
}HibernateUtil是我写的一个连接的工具类,好像不是特别麻烦