浏览 2070 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
|
|
---|---|
作者 | 正文 |
发表时间:2008-11-09
得到结果集的方法:
public Iterator searchUser(String name, String phone, String address) {
String strsql=new String("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"; System.out.println(strsql); Query q=this.session.createQuery(strsql); System.out.println("end"); Iterator iter =q.iterate(); return iter; } 得到结果集的一个巧方法:
public Iterator searchUser(String name, String phone, String address) { Addressbook book=new Addressbook(); if(!name.equals("")) { book.setName(name); } if(!address.equals("")) { book.setAddress(address); } if(!phone.equals("")) { book.setPhone(phone); } Criteria criteria=session.createCriteria(Addressbook.class); System.out.println(Addressbook.class); criteria.add(Example.create(book)); List list=criteria.list(); Iterator iter=list.iterator(); return iter; } 在Action的处理 public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) { SearchForm searchForm = (SearchForm) form;// TODO Auto-generated method stub ActionMessages errors=new ActionMessages(); String name=searchForm.getName(); String phone=searchForm.getPhone(); String address=searchForm.getAddress(); Iterator iter=DAOFactory.getAddressbookDAOInstance().searchUser(name, phone, address); System.out.println("begin"); if(iter.hasNext()) {request.setAttribute("name",name ); request.setAttribute("phone", phone); request.setAttribute("address", address); System.out.println("DIS"); return mapping.findForward("display");} else { errors.add("search",new ActionMessage("search2.error")); saveMessages(request,errors); return (new ActionForward(mapping.getInput())); } } 在JSP页面的显示
<table border=1>
<tr> <td>ID</td> <td>名字</td> <td>电话</td> <td>住址</td> </tr> <% 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()) {Addressbook result=(Addressbook)iter.next(); %> <tr> <td widt><%=result.getId() %></td> <td><%=result.getName() %></td> <td><%=result.getPhone() %></td> <td><%=result.getAddress() %></td> </tr> <%} %> </table> 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-11-09
。。。。。。。。。。。。。。。。看见string+就知道了
|
|
返回顶楼 | |
发表时间:2008-11-10
哥们儿 你能写清楚为什么要这样写?
这样写有什么具体的 说明? |
|
返回顶楼 | |
发表时间:2008-12-17
那个所谓的巧方法一点用都没有,不如直接返回一个List。Hibernate对返回List和Iterator的处理是不一样的
|
|
返回顶楼 | |