Retornando dados de um BD

2 respostas
L

Caros colegas,

Tenho uma classe que manipula uma tabela do meu banco de dados e nela, estou tentando criar um método que me retorne os dados de uma consulta.

Pois bem, faço a conexão com o BD(MySQL), crio o Statement e o ResultSet, e na hora de retornar os dados eu não sei como fazer. Surgiu-me a idéia de retornar diretamente o ResultSet, mas acredito que seja deselegante, outra idéia seria retornar um Collection, mas desta maneira eu não sei como eu poderei passar os dados do ResulSet para a Collection.

Caso alguém já tenha passado por isso e puder ajudar-me, ficarei imensamente grato.

2 Respostas

cv1

Itere sobre o ResultSet (while(rs.next()) { … }), e adicione os dados na collection (add() ou put()). Como vc provavelmente vai pegar mais de uma coluna por query, e na maior parte das collections so cabe um dado de cada vez, voce pode criar classes seguindo o modelo DTO (Data Transfer Object), que apenas representam uma linha na tabela.

Depois de preencher estes objetos, e so adicionar na collection, e retornar a collection no final da coisa. :wink:

PS: putz, esse texto ficou confuso. Foi mal, mas eu acabei de comer uma quantidade inacreditavel de nhoque recheado. Qualquer coisa da um toque ae :smiley: :drinking:

thiagorani

Crie objetos que contenha a mesma estrutura da sua tabela, os mesmos atributos. Use metodos get e set, para alimentar e recuperar os dados.

Ex:

public class Nome{
      String nome;

      public Nome(String nome){
       this.nome = nome;
      }

      public String getNome(){
       return this.nome;
      }

      public void setNome(String nome){
       this.nome = nome;
      }

      }

Ae voce adiciona os objetos na sua collection.add(new Nome(“thiagorani”))

Depois, é só ler a sua collection, e para cada iteração utilizar o getXXXX() para recuperar o valor.

Putz, será que compliquei mais?

Qualquer coisa posta ae!!!

Criado 26 de janeiro de 2004
Ultima resposta 26 de jan. de 2004
Respostas 2
Participantes 3