浏览 2717 次
该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2006-12-11
//这是我写的方法 public static HashMap lookall() { List list=new ArrayList(); Transaction tx=null; Session session=null; HashMap ham=null; try{ session=HibernateSessionFactory.getCurrentSession(); Query query=session.createQuery("select a.age,b.bookname from Author a,Books b where b.id=a.id"); list=query.list(); Iterator it=list.iterator(); while(it.hasNext()) { Object[]ob=(Object[])it.next(); ham=new HashMap(); Integer age=(Integer)ob[0]; String bookname=(String)ob[1]; ham.put("age", age); ham.put(bookname, bookname); Integer age1=(Integer) ham.get("age"); String bookname1=(String) ham.get("bookname"); System.out.println("age:"+age); System.out.println("bookname"+bookname); } } catch(HibernateException e) { if(tx!=null) { try { tx.rollback(); } catch (HibernateException e1) { e1.printStackTrace(); } } } finally { try { HibernateSessionFactory.closeCurrentSession(); } catch (HibernateException e) { e.printStackTrace(); } } return ham; } ================================================================================== //我的Jsp页面里的 <%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>My JSP 'lookall.jsp' starting page</title> </head> <body> <% HashMap ham=(HashMap)request.getAttribute("ham"); %> <table> <tr><td>age</td><td>bookname</td></tr> <% Iterator it=ham.keySet().iterator(); while(it.hasNext()) { System.out.println("it.Next数据的值是:"+ham.get(it.next())); //Object[] bean=(Object[])it.next(); //Integer age=(Integer)bean[0]; //String bookname=(String)bean[1]; //System.out.println(age); //System.out.println(bookname); // Hashtable hst=new Hashtable(); //hst.put("age",age); //hst.put("bookname",bookname); //Enumeration em=hst.elements(); //Integer age=ham.get("age"); //String bookname=ham.get("bookname"); %> <tr><td><%=1%></td><td><%=1%></td></tr> <% } %> </table> </body> </html> ========================== 我还想,把<tr><td><%=1%></td><td><%=1%></td></tr>中的1换成age和bookname 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-12-11
你在while里面建hashmap,每次循环都新建了一个新的对象,你怎么能用一个hashmap存下所有的记录了?应该把while里面的new hashmap删除。
|
|
返回顶楼 | |
发表时间:2006-12-11
while(it.hasNext())
{ Object[]ob=(Object[])it.next(); ham=new HashMap(); look,这要不返回最后一条记录才怪 |
|
返回顶楼 | |
发表时间:2006-12-11
dui---感谢!!!!
|
|
返回顶楼 | |