Jtable + Mysql

Boa noite,
Estou fazendo um trabalho desenvolver uma agenda simples…
eu criei um JTable para buscar os dados na tabela… isso é tranquilo.
da pra fazer deste jeito:

 public void ListarContatos() throws SQLException{
        con.conecta();
        String Query = "SELECT * FROM contato";
        Consulta = con.RetornaDados(Query);
        DefaultTableModel dtm = (javax.swing.table.DefaultTableModel)jTableContatos.getModel();

        try{
           while (Consulta.next()){
               dtm.addRow(new Object[]{Consulta.getString("cod_contato"),
                                       Consulta.getString("nom_contato"),
                                       Consulta.getString("apl_contato"),
                                       Consulta.getString("email_contato"),
                                       Consulta.getString("end_contato"),
                                       Consulta.getString("telfix_contato"),
                                       Consulta.getString("telcel_contato"),
                                       Consulta.getString("telcom_contato"),
                                       Consulta.getString("datnas_contato")});
               }
           
        }catch(Exception e){
            JOptionPane.showMessageDialog(null, "Houve um erro ao ir ao próximo item.");
        }

    }

Agora que vem o que eu to precisando o professor nao quer no Codigo fonte da Janela ter nenhum codigo SQL
entao eu criei uma Classe que chama RepositorioUsuario
que conecta no Banco e executa os Comandos…
so que nao consegui fazer essa consulta e retornar um Vetor do tipo Object para colocar na Jtable…

Obrigado.

[size=24][color=red]Não use DefaultTableModel.[/color][/size]

Aprenda a fazer o seu próprio TableModel, filho de AbstractTableModel. Estruture corretmente suas classes. Sua janela não deveria estar chamando os métodos de banco diretamente.

Voce terá de usar o metodo DAO que te propocionará usar uma classe separada, num pacote diferente, somente para faser suas consultas.

[code]public void adiciona(Contato contato) throws SQLException {
//PREPARANDO A CONEXAO
String sql = “insert into contato(nome,endereco,telefone,email,sexo)” + “values(?,?,?,?,?)”;
PreparedStatement stmt = conexao.prepareCall(sql);
//SETA VALORES
stmt.setString(1, contato.getNome());
stmt.setString(2, contato.getEndereco());
stmt.setString(3, contato.getTel());
stmt.setString(4, contato.getEmail());
stmt.setString(5, contato.getSexo());

               //EXECULTA O CODIGO SQL

            stmt.execute();
            stmt.close();

}[/code]
Esse metodo sera chamado pela sua janela

eu mostrei esse jeito com DefaultTableModel pois foi um professor mesmo que falou para eu usar.

mas eu não estou fazendo consultas na mesma classe, eu tenho uma classe que executa os comandos e é isso que estou com dúvida.

o que vc tera de fazer é criar um obj do tipo array list no seu frame tendo como estrutura “<contatos>” da classe ja criada
depois no metodo que ira receber ou enviar os contatos correspondentes instanciar o obj array
e instaniar o obj do classe que fara a conexão
passara o obj do array como parametro ao obj da classe de conexao