Classe DAO

Gente to implementando uma classe DAO para a classe pessoa, e qro fazer uma busca pela linha que a pessoa esta no banco, ateh ai tudo legal, eu me complico qdo tenho q colocar os dados do banco criando uma nova instancia da pessoa!

tipo

new Pessoa(Todos, os, dados, da, linha, referente, no, BD);

Pq tipo se eu fizesse isso em um loop ele criaria inumeras instancias da classe pessoa! alguem sabe como fazer isso?

vlw! :smiley:

PS.:

codigo do metodo

public Pessoa getPessoa(int posBd){
        ArrayList<String> atributos = new ArrayList<String>();
        
        try {
            stm = (Statement) gcbd.getBanco().getConexao().createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
            rs = stm.executeQuery("SELECT * FROM fnc_custo ORDER BY codfnccusto");
            rsmd = rs.getMetaData();

            rs.last();
            int ultLinha = rs.getRow();
            rs.first();

            if(posBd < 1 || posBd > ultLinha){
                System.out.println("Range invalido");
            }
            else{
                while(posBd != rs.getRow()){
                    rs.next();
                }
                for(int i = 2; i < rsmd.getColumnCount(); i++){
                    atributos.add(rs.getString(i));
                }
            }
        }
        catch (SQLException ex) {
            Logger.getLogger(PessoaDAO.class.getName()).log(Level.SEVERE, null, ex);
        }
        catch (IndexOutOfBoundsException ioobe){

        }
        for(int i = 2; i < atributos.size(); i++){
            
        }
        return new Pessoa("");
    }

Olá…
cara deixa eu ver se eu entendi. Sua duvida é referente a criar objetos pessoas a partir do resultado da sua query?
O seguinte método pode ser usado na classe ClienteDAO para recuperar um List de pessoas do banco, por exemplo:

public List<Pessoa> getListaDePessoas() throws SQLException  {

    PreparedStatement stmt = conn.prepareStatement("SELECT * FROM minha_tabela_de_pessoasl");
    ResultSet rs = stmt.executeQuery();
		
    List<Pessoa> pessoas = new ArrayList<Pessoa>();
		
	while(rs.next()) {
			
		Pessoa p = new Pessoa();
		p.setId(Integer.parseInt(rs.getString("id")));
		p.setNome(rs.getString("nome"));
			
		// adiciona o objeto à lista
		pessoas.add(p);
	}
		
	rs.close();
	stmt.close();
	
	return pessoas;
}

Humm, naum testei, mas deve funcionar!

vlw pela ajuda!