//这是两个表的连接查询,我在页面上的显示,只能显示最后一条纪录!!
//这是我写的方法
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
//这是我写的方法
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