BookBean book = new BookBean();
      while(rs.next()){
        book.setId(rs.getInt(1));
        book.setValue(rs.getString(2));
        这里的book是一个对象只是每一次赋值后把上一次的值覆盖
        titlesList.add(book);
      }
    改为
   BookBean book = null;
      while(rs.next()){
book = new BookBean();
        book.setId(rs.getInt(1));
        book.setValue(rs.getString(2));
        titlesList.add(book);
      }

解决方案 »

  1.   

    想打印第一个的话,把
    while(rs.next()){
            book.setId(rs.getInt(1));
            book.setValue(rs.getString(2));
            titlesList.add(book);
    }
    修改为:
    if(rs.next()){
            book.setId(rs.getInt(1));
            book.setValue(rs.getString(2));
            titlesList.add(book);
    }因为你使用了while循环,始终要循环到最后一个。
      

  2.   

    试过   楼上tom2005(快乐着)  的吗,他的应该没问题啊
      

  3.   

    简单点,不用数据库数据,照楼上tom2005(快乐着)做,看看结果
    public List getTitles(){
        List titlesList = new ArrayList();
        BookBean book = null;
        for(int i=0;i<10;i++){
          book = new BookBean();
          book.setId(i);
            //book.setValue(rs.getString(2));
          titlesList.add(book);
        }
        
        return titlesList;
    }
      

  4.   

    tom2005(快乐着) 兄正解。
    在while循环内new BookBean()就可以了
      

  5.   

    book是引用,你的程序每次改变的是同一个东西.在循环中new就可以了.
      

  6.   

    同意楼上的,一定要产生新的book实例。
      

  7.   

    第一次我也是用tom2005(快乐着)同样的方法可是怎么都不行,今天一觉醒来却好了!真奇怪!谢谢各位了