Hibernate里怎么把查询的结果集,显示出来

 <%String name=request.getAttribute("name").toString();
      String phone=request.getAttribute("phone").toString();
      String address=request.getAttribute("address").toString();
      Iterator iter=DAOFactory.getAddressbookDAOInstance().searchUser(name, phone, address);
    while(iter.hasNext())
    { Object[] result=(Object[])iter.next();
    %>
   
     <%=result[0]%>
    <%=result[1]%>
    <%=result[2]%>
    <%=result[3]%>
   
其中的DAOFactory.getAddressbookDAOInstance().searchUser(name, phone, address)方法如下:
public Iterator searchUser(String name, String phone, String address) {
  // TODO Auto-generated method stub
  String strsql=new String("select * from addressbook where");
  if(!name.equals(""))
    strsql=strsql+"name like '"+name+"%' and";
  if(!phone.equals(""))
   strsql=strsql+"phone like '"+phone+"%' and";
  if(!address.equals(""))
   strsql=strsql+"address like '"+address+"%'";
  else
   strsql=strsql.substring(0,strsql.length()-3);
  strsql=strsql+"order by ID";
  Query q=this.session.createQuery(strsql);
  
  Iterator iter =q.list().iterator();
  
  //Iterator iter=q.list().iterator();
  return iter;
 }

哦。。顺便说声。。commons包的用法官网上有,或者简单的例子:
http://uptolife.blogspot.com/search?q=StringUtil

貌似路还长着。。呵呵

<%=(String)result[0][code="java"][/code]%>

需要做类型转换

[code="java"]public Iterator searchUser(String name, String phone, String address) {
// TODO Auto-generated method stub
String strsql=new String("select * from addressbook where");
if(!name.equals(""))
strsql=strsql+"name like '"+name+"%' and";
if(!phone.equals(""))
strsql=strsql+"phone like '"+phone+"%' and";
if(!address.equals(""))
strsql=strsql+"address like '"+address+"%'";
else
strsql=strsql.substring(0,strsql.length()-3);
strsql=strsql+"order by ID";
Query q=this.session.createQuery(strsql);

Iterator iter =q.list().iterator();

//Iterator iter=q.list().iterator();
return iter;
}[/code]

这段代码有很多问题呀。sql注入就很严重了。。new String也不是这么用的,用stringbuffer好些。。。里边的select * 也可以不用了。。直接用"from addressbook " 这样最后使用q.list就是返回一个List啦。。。还有其他一些问题

[code="java"] String phone=request.getAttribute("phone").toString();[/code]
这个也是有问题的。。因为从request有可能取出null

[code="java"]public List<addressbook> searchUser(String name, String phone, String address) {
      // TODO Auto-generated method stub
      StringBuffer strsql=new StringBuffer("from addressbook where 1=1");
      if(StringUtils.isNotBlank(name))
        strsql.append(" and name like :name");
      if(StringUtils.isNotBlank(phone))
       strsql.append(" and phone like :phone");
      if(StringUtils.isNotBlank(address))
       strsql.append(" and address like :address");
      strsql.append(" order by ID");
      Query q=this.session.createQuery(strsql);

      if(StringUtils.isNotBlank(name))
          q.setParameter("name", "%" + name + "%");
      if(StringUtils.isNotBlank(phone))
          q.setParameter("phone", "%" + phone + "%");
       if(StringUtils.isNotBlank(address))
           q.setParameter("address", "%" + address + "%");
      return q.list();
     }[/code]

StringUtils是jakarta commons库。。。你的代码看起来还不hibernate啦,呵呵

另外,这个应该这么写
String phone=(String)request.getAttribute("phone");

没eclipse,不知有没有敲错单词什么的。。。