Pessoal, seguinte, to querendo fazer umas classes genericas pra fazer a persistencia dos dados.
Queria saber se é possivel através do Java identificar o nome dos atributos que existem na minha tabela?
Exemplo:
TABELA_PESSOA
-NOME
-CPF
-RG
Acho que vai ser mais ou menos parecido com a ideia de reflexão.
Alguem poderia me ajudar?
Grato.
Dê uma lida na Classe ResultSetMetaData , posso colocar um exemplo daqui a pouco só preciso achar
try {
con = DriverManager.getConnection("jdbc:postgresql://localhost/teste_db", "test_user", "test_pwd");
System.out.println("Conexão bem sucedida");
Statement st = con.createStatement();
ResultSet res = st.executeQuery("SELECT* FROM \"TabAlunos\"");
System.out.println("Tabela TabAlunos:");
ResultSetMetaData rs_md = res.getMetaData();
//Neste laço exibe-se os cabeçalhos das colunas
//através dos metadados do conjunto de dados
//obtido do banco
// Atenção: índices vão de 1 a n!
for (int i = 1; i <= rs_md.getColumnCount(); i++)
{
System.out.print(rs_md.getColumnLabel(i));
//Espaço entre o início de cada coluna é de
//30 caracteres
char [] spaces = new char[30 - rs_md.getColumnLabel(i).length()];
Arrays.fill(spaces, ' ');
System.out.print(new String(spaces) + " ");
}
System.out.println();
while (res.next())
{
//Atenção: índices vão de 1 a n!
for (int i = 1; i <= rs_md.getColumnCount(); i++)
{
System.out.print(res.getString(i));
//Espaço entre o início de cada coluna é de
//30 caracteres
char [] spaces = new char[30 - res.getString(i).length()];
Arrays.fill(spaces, ' ');
System.out.print(new String(spaces) + " ");
}
System.out.println();
}
con.close();
} catch (SQLException e) {
//Caso a conexão não seja bem sucedida, SQLException
//fornece algumas informações sobre a causa do erro
System.out.println ("Informações de SQLException:");
while (e != null)
{ System.out.println ("SQLState: "
+ e.getSQLState());
System.out.println ("Message: "
+ e.getMessage());
System.out.println ("Vendor: "
+ e.getErrorCode());
e = e.getNextException();
System.out.println ("");
}
System.exit(0);
}
}
Da uma olhada também neste tutorial do guj
http://www.guj.com.br/java.tutorial.artigo.24.1.guj
deve ter ajudar.
putz, Valeu ramilani12, me ajudou muito cara.
Otimo tutorial tbm marcuscruz