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;