遍历数据库的问题

pengpeng11 2008-03-17 06:26:52
我想用list把表中的数据遍历到页面上,记录数是得出了,但页面上显示的却总是表中最后一条记录的信息,哪位大哥,帮下小弟啊

//查询所有用户信息
public List queryAll()
{
List all = new ArrayList();
User user = new User();
Connection conn = DB.getConn();
String sql = "select * from user";
PreparedStatement pstmt = null;
ResultSet rs = null;
try
{
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while(rs.next())
{
user.setId(rs.getInt("id"));
user.setUsername(rs.getString("username"));
user.setPassword(rs.getString("password"));
user.setPhone(rs.getString("phone"));
user.setAddr(rs.getString("addr"));
user.setRdate(rs.getTimestamp("rdate"));

all.add(user);
}

}
catch (SQLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}

return all;
}


<%
List<User> all = null;
UserDao dao = new UserDao();
all = dao.queryAll();
//System.out.println(all.size());
%>



<%
Iterator iter = all.iterator();

while(iter.hasNext())
{
User u = (User)iter.next();
//System.out.println(u.getId());
%>
<tr>
<td><%=u.getId() %></td>
<td><%=u.getUsername() %></td>
<td><%=u.getPhone() %></td>
<td><%=u.getAddr() %></td>
<td><%=u.getRdate() %></td>
</tr>
<%
}
%>
...全文
75 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Frank1982 2008-03-17
  • 打赏
  • 举报
回复
1楼正解我觉得使用LinkedList();可能会好点把?
pengpeng11 2008-03-17
  • 打赏
  • 举报
回复
谢谢您!我试下看看
Squall1009 2008-03-17
  • 打赏
  • 举报
回复
把User user = new User(); 放到
while(rs.next())
{
User user = new User(); //这个位置
user.setId(rs.getInt("id"));
user.setUsername(rs.getString("username"));
user.setPassword(rs.getString("password"));
user.setPhone(rs.getString("phone"));
user.setAddr(rs.getString("addr"));
user.setRdate(rs.getTimestamp("rdate"));

all.add(user);
}

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧