从一个数据库中查出5条数据,我想把这五条数据的每一条作为一个结果集封装到emp对象中,然后把对象封装到list中,代码怎么写,急用,在线等

解决方案 »

  1.   

    五条数据贴出来
    emp那个类也贴出来
      

  2.   

    使用每一行的字段创建一个emp,加到list。
      

  3.   

    数据:
    id  name  age
    1    a    11
    2    b    11
    3    c    11
    4    d    11我想要的是把这四条数据每一条作为一个对象(每一个对象封装了id,name,age),然后对象放入到一个list中
      

  4.   

    List list = new List();
    Emp e = new Emp();
    e.setId(1);
    e.setName(a);
    e.setAge(11);
    list.add(e);当然set进去的值需要你自已从数据库里拉出来。
      

  5.   

    while(rs.next()){
        list.add(new Emp(rs.getInt("id"),rs.getString("name"),rs.getInt("age"));
    }
      

  6.   

    给你我写过的一个类参考。利用了java泛型和反射,使用前须创建好与该数据库表相应的pojo类,该javabean中的每个字段和你数据库中表的字段名字相同。直接继承该类即可,方法返回一个封装了该pojo的list集合public class Query<T> { private DBUtil db = DBUtil.getInstance(); private List<T> list = null; private int totleCount = -1; private Class<T> entityClass; private String sql = null; @SuppressWarnings("unchecked")
    public Query(String sql) { this.entityClass = (Class<T>) ((ParameterizedType) getClass()
    .getGenericSuperclass()).getActualTypeArguments()[0];
    this.sql = sql;
    this.list = excute(sql);
    }
    public int getCount() { return totleCount;
    } public List<T> getGridData(int start, int size) { if (start + size > totleCount) {
    size = totleCount - start;
    }
    return list.subList(start, start + size); } public List<T> getQueryData() { return list;
    } public List<T> excute(String sql) { ArrayList<T> list = null;
    Statement stm = db.getStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
    ResultSet.CONCUR_READ_ONLY);
    ResultSet rst = null;
    try {
    rst = stm.executeQuery(sql);
    rst.last();
    totleCount = rst.getRow();
    rst.beforeFirst();
    list = new ArrayList<T>(totleCount);
    while (rst.next()) {
    ResultSetMetaData metaData = rst.getMetaData();
    T t = entityClass.newInstance();
    for (int j = 1; j <= metaData.getColumnCount(); j++) {
    String name = metaData.getColumnName(j);
    try {
    Field field = entityClass.getDeclaredField(name
    .substring(0, 1).toLowerCase()
    + name.substring(1));
    Method method = entityClass.getMethod("set"
    + name.substring(0, 1).toUpperCase()
    + name.substring(1), field.getType());
    String type = field.toGenericString();
    if (type.contains("java.lang.String")) {
    method.invoke(t, rst.getString(name));
    } else if (type.contains("java.lang.Integer")) {
    method.invoke(t, rst.getInt(name));
    } else if (type.contains("java.lang.Double")) {
    method.invoke(t, rst.getDouble(name));
    } else if (type.contains("java.sql.Date")) {
    method.invoke(t, rst.getDate(name)); } else if (type.contains("java.sql.Timestamp")) {
    method.invoke(t, rst.getTimestamp(name));
    }
    } catch (NoSuchFieldException e) {
    /*
     * System.out.println("找不到字段" + name.substring(0,
     * 1).toLowerCase() + name.substring(1) + ",将忽略处理。");
     */
    } }
    list.add(t);
    } } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } finally {
    db.freeResource(stm, rst);
    }
    return list;
    } }
      

  7.   


    public class TestPeroson extends ArrayList<Person> {
        public static ArrayList<Person>  persons = new ArrayList<Person>();   
        public static void main(String args[]) {
        init();
        display();
        }
        public static void init(){
        persons.add(new Person(1, "a", 11));
        persons.add(new Person(2, "b", 11));
        persons.add(new Person(3, "c", 11));
        persons.add(new Person(4, "d", 11));
        }
        public static void display(){
    for(Person person:persons){
        System.out.println(person.id + "  "  + person.name + " "   + person.age);
    }
        }   
    }class Person{
        int id ;String name; int  age;
        public Person(int id, String name, int age) {
    this.id = id;
    this.name = name;
    this.age = age;
        }
    }
    /*
    1  a 11
    2  b 11
    3  c 11
    4  d 11*/