ArrayList获取的所有对象均为相同的改错

在使用ArrayList<Objectname>从数据库取内容的时候,如果内容为多条,很可能会出现所有的内容都是一样的情况,这个原因主要是把对象创建(即 bean=new BeanName())放在了while(rs.next){}的外边了,或者把ArrayList的new放在了while的里边,这样得出的结果肯定是相同的,所以需要把new放在while里边,这样就可以了

ArrayList<AuthorityBean> ar=new  ArrayList<AuthorityBean>(); 
               AuthorityBean bean ;
        stmt = conn.createStatement();
        rs = stmt.executeQuery(sql);
        while (rs.next()) {
            bean= new AuthorityBean();
            bean.setId(rs.getInt("id"));
            bean.setIsDelete(rs.getString("isDelete"));
            bean.setInfo(rs.getString("info"));
            bean.setIsMenu(rs.getInt("isMenu"));
            bean.setOrder(rs.getInt("oder"));
            bean.setAlevel(rs.getInt("alevel"));
            bean.setPageUrl(rs.getString("pageurl"));
            bean.setParentId(rs.getInt("parentid"));
            ar.add(bean);    
        
        }   
return ar;

 

posted on 2013-09-15 15:34  273度  阅读(224)  评论(0编辑  收藏  举报

导航