首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

新手求指点~该怎么解决

2012-03-29 
新手求指点~~Java codepublic ListUser list(){ListUser usersnew ArrayListUser()Connection con

新手求指点~~

Java code
public List<User> list(){        List<User> users=new ArrayList<User>();        Connection conn=this.getConnection();        ResultSet rs=null;        String sql="select id,username,password,age,address from user";        PreparedStatement ps=this.prepare(conn, sql);        User user=new User();        try{            rs=ps.executeQuery();            while(rs.next()){                user.setId(rs.getInt(1));                user.setUsername(rs.getString(2));                user.setPassword(rs.getString(3));                user.setAddress(rs.getString(4));                users.add(user);            }        }catch(Exception e){            e.printStackTrace();        }        return users;    }

Java code
public static void main(String[] args) {        Main main=new Main();        List<User> allUser=main.list();        Iterator<User> iterator=allUser.iterator();        while(iterator.hasNext()){            User user=iterator.next();            System.out.println(user.getUsername());        }            }

为什么输出的总是最后一条数据啊~ 希望各位给的详细点 谢谢了

[解决办法]
因为你只有一个User user = new User();
所以从始至终你都只创建了一个user对象,而代码
Java code
            while(rs.next()){                user.setId(rs.getInt(1));                user.setUsername(rs.getString(2));                user.setPassword(rs.getString(3));                user.setAddress(rs.getString(4));                users.add(user);            } 

热点排行