请教大牛们一个问题
今天心血来潮,试了下从数据库中取数,然后现实在jsp页面上 写了一个方法如下:
public static Books getBook() throws InstantiationException, IllegalAccessException, ClassNotFoundException, SQLException{
Books book = new Books();
ConnectionDb db = new ConnectionDb();
Connection ct = db.getcnt();
Statement st = ct.createStatement();
ResultSet rs = st.executeQuery("select * from books");
while(rs.next()){
book.setId(rs.getInt(1));
book.setBookName(rs.getString(2));
book.setPrice(rs.getFloat(3));
book.setPublish(rs.getString(4));
book.setPublishman(rs.getString(5));
book.setAuthorName(rs.getString(6));
}
return book;
}
然后通过servlet session 把book对象传到页面上,取数的时候 只把数据库表中最后一行数据给取出来了, 我知道是做while循环的时候后面的把前面的覆盖了,怎么才能不覆盖呢?
当然可以用下面方式
List list = null;
Session session = HibernateSessionFactory.getSession();
Transaction tx = session.beginTransaction();
Query query = session.createQuery("form Books b");
list = query.list();
return list;
然后再在JSP页面上通过structs标签的logic属性和bean属性去取,但我想通过<%=xx.getxx()%>方法取,所以有了上面的问题
麻烦哪个大虾指点下 刚接触web方面得知识 谢谢~~~~