日期:2014-05-17  浏览次数:20755 次

实体类插入list问题
  public List bankSelect() {
    List list = new ArrayList();
   
    bank a = new bank();
    
    try {
     ConnBean c = new ConnBean();
        dbConn = c.conn();
        stmt = dbConn.createStatement();
     String sql = "select * from tb_client_bank ";
      ResultSet rs = stmt.executeQuery(sql);
      while (rs.next()) {
     a.setid(Integer.parseInt(rs.getString(1)));
        a.set_bank_name(rs.getString(2));
     a.set_bank_bz(rs.getString(3));  
    
     list.add(a);
      }
      
    }
    catch (SQLException e) {
     e.printStackTrace();
    }
    
    return list;
  }


bank是我的实体类。上层servlet调用这个方法的时候会把list加到request对象里以便页面输出
假如库里有4条数据吧。我这个方法现在的结果是吧最后一条数据输出了4遍。。而不是每条数据遍历输出。
高手指点下怎么遍历呢???
还是说用实体类的话就没法达到这个目的?
大虾指点啊~~~~~~~~~
------最佳解决方案--------------------
public List bankSelect() {
  List list = new ArrayList();
    
  
    
  try {
  ConnBean c = new ConnBean();
  dbConn = c.conn();
  stmt = dbConn.createStatement();
  String sql = "select * from tb_client_bank ";
  ResultSet rs = stmt.executeQuery(sql);
  while (rs.next()) {
  bank a = new bank();
  a.setid(Integer.parseInt(rs.getString(1)));
  a.set_bank_name(rs.getString(2));
  a.set_bank_bz(rs.getString(3));   
  
  list.add(a);
  }
    
  }
  catch (SQLException e) {
  e.printStackTrace();
  }
    
  return list;
  }


这样就O了, 你那样只有a一个对象,当然就出现你那个结果了
------其他解决方案--------------------
说错了,就只有一个实体。java中只要是自己定义的对象都需要new一个的。才能是新的实体。
------其他解决方案--------------------
自己顶下~~~~~~~救命啊~~~~~~~~~~~~~~~~~~~~~~~~~~~
------其他解决方案--------------------
引用:
Java code
public List bankSelect() {
  List list = new ArrayList();
    
  
    
  try {
  ConnBean c = new ConnBean();
  dbConn = c.conn();
  stmt = dbConn.createStatement();
  String sql =……



太帅了~正解