return list返回bean中的各值。

解决方案 »

  1.   

    不太懂你的意思List中本来就可以放入任何对象,如果你要限制为某一种类型的对象,可以加泛型
    如果你要判断返回的List中的对象类型的话,可以用instanceof来判断,再分别把不同的对象放在不同的集合中进行传递
      

  2.   

    一条记录存放一个HashMap, 用列名<-->值来对应,返回HashMap的List
      

  3.   

    现在我的方法只能用与特定一个表的查询 我的程序是这样的情况
      while (this.rs.next())
                {
                    //创建一个CollectPolicyTable对象
                    CollectPolicyTable a = new CollectPolicyTable();
                    
                    a.setPolicy_id(this.rs.getInt(1));
                    a.setPolicy_name(this.rs.getString(2));
                    a.setPolicy_creatTime(this.rs.getDate(3));
                    a.setPolicy_creator(this.rs.getString(4));
                    a.setPolicy_status(this.rs.getInt(5));
                    a.setPolicy__re(this.rs.getString(6));
                    a.setPgent_id(this.rs.getInt(7));
                    a.setSeverity(this.rs.getString(8));
                    a.setPnalysis_id(this.rs.getInt(9));
                    
                    //将对象加入LIST
                    list.add(a);}我的意思是 怎么样才能 同一个方法适用与不同表的查询
      

  4.   

    我也用的你的方法while (this.rs.next())
                {
                    //创建一个CollectPolicyTable对象
                    CollectPolicyTable a = new CollectPolicyTable();
                    
                    a.setPolicy_id(this.rs.getInt(1));
                    a.setPolicy_name(this.rs.getString(2));
                    a.setPolicy_creatTime(this.rs.getDate(3));
                    a.setPolicy_creator(this.rs.getString(4));
                    a.setPolicy_status(this.rs.getInt(5));
                    a.setPolicy__re(this.rs.getString(6));
                    a.setPgent_id(this.rs.getInt(7));
                    a.setSeverity(this.rs.getString(8));
                    a.setPnalysis_id(this.rs.getInt(9));
                    
                    //将对象加入LIST
                    list.add(a);}
    来实现的
    没有找到更好的方法....
    期待中.0.........
      

  5.   

    可以考虑用反射机制ResultSetMetaData rsm=rs.getMetaData();
    Object domain=null;
    while(rs.next()){
    domain=Class.forName("Domain").newInstance();
    for(int i=1;i<=rsm.getColumnCount();i++){
    String recordValue=rs.getString(rsm.getColumnName(i));
    Method m=domain.getClass().getMethod("set"+rsm.getColumnName(i),new Class[]{recordValue.getClass()});
    m.invoke(domain,new Object[]{recordValue});
    }
    list.add(domain);
    }
      

  6.   

    用一个或多个JavaBean来创建不同的对象,并设置他的值,然后添加到List中.
      

  7.   

    我是一个新手做过的项目不是很多 对于这样的问题我通常是这样写的
    public static ArrayList<LinkedHashMap> delRes(String sql) {
    ArrayList<LinkedHashMap> list = new ArrayList<LinkedHashMap>(); Connection con = null;
    PreparedStatement stmt = null;
    ResultSetMetaData metaData=null;
    try {
    con = ConDB.getCon();
    stmt = (PreparedStatement) con.prepareStatement(sql);
    ResultSet result = stmt.executeQuery();
    metaData=result.getMetaData();
    while (result.next()) {
    LinkedHashMap v = new LinkedHashMap();
    for (int i = 1; i <= metaData.getColumnCount(); i++)
    v.put(metaData.getColumnLabel(i),result.getObject(i));

    list.add(v);
    }
    } catch (SQLException e) {
    e.printStackTrace();
    } finally {
    try {
    if (stmt != null) {
    stmt.close();
    }
    if (con != null) {
    con.close();
    }
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }
    return list;
    }
    这算是一个公共方法吧 传入一个sql语句返回一个ArrayList<LinkedHashMap>的结果集 该结果集是一个查询结果的LinkedHashMap集 如果你用的是JSF框架就可以把这个LinkedHashMap放到标签里去迭代输出
    其中v.put(metaData.getColumnLabel(i),result.getObject(i));这句表示把数据库的字段名设为KEY 把该字段的值设为Value 如果在Eclipse当中这句可能会被提示要引用参数化 不用理它不影响使用 上面朋友们写的那些方法也是没错的 我以前也是那么写的只是后来我感觉局限性大了些 就改用这种方法了 我也是刚开始做J2EE 昨天才在这里注册的用户 希望在这里能和大家多交流学习 ^_^
      

  8.   

    建议 创建一个 formbean   结果封装到 formbean里面