Come ottenere i nomi colonna in una tabella di database in Java

July 2

Come ottenere i nomi colonna in una tabella di database in Java


Java è dotato di un potente set di classi di database chiamato JDBC. Questi strumenti consentono uno sviluppatore Java, con poche eccezioni, di lavorare con una grande varietà di grandi banche dati, senza alcuna modifica nel codice. Tuttavia, alcune attività, come ad esempio il recupero di nomi di colonna da una query, non sono immediatamente intuitivo utilizzando le classi comuni Connessione, Dichiarazione, e di risultati.

istruzione

1 Importare le classi necessarie incollando il seguente nel codice:

importazione java.sql.Connection
ANDARE
importazione java.sql.DriverManager
ANDARE
importazione java.sql.ResultSet
ANDARE
importazione java.sql.ResultSetMetaData
ANDARE
importazione java.sql.SQLException
ANDARE
import java.sql.Statement;

2 Connettersi al database. Sarà necessario circondare la maggior parte dei comandi nei seguenti passi con una dichiarazione try-catch per affrontare gli errori SqlException che potrebbero sorgere.

Connection con = DriverManager.getConnection(\"jdbc:derby://localhost:1527/sample\", \"user\", \"pass\")

ANDARE

Cambiare la parola \ "derby \" per il nome del programma di database che si sta utilizzando. Ad esempio, \ "mysql \" per MySQL.

Gli ultimi due argomenti nella esempio, \ "user \" e \ "pass, \" rappresentano, in modo abbastanza appropriato, il nome utente e password per il database.

3 Creare ed eseguire una dichiarazione su tale connessione. Recuperare i risultati della dichiarazione come un ResultSet.

Statement s = con.createStatement()

ANDARE

ResultSet rs = s.executeQuery(\"select * from APP.Customer\")

ANDARE

Questo esegue una query per ottenere tutte le informazioni dalla tabella clienti nel database di APP. È possibile sostituirlo con qualsiasi comando SQL valida per il database che si sta utilizzando.

4 Prendi il \ "metadati \" per quel ResultSet e memorizzarlo nella classe ResultSetMetaData.

ResultSetMetaData rsm = rs.getMetaData()

ANDARE

Come si potrebbe sospettare, i metadati si riferisce alle informazioni che descrivono la query. Questo non solo comprende i nomi di colonna, ma anche informazioni come il nome dello schema, i tipi di dati per le colonne, e se una colonna consente valori nulli.

5 I nomi delle colonne e stamparli sullo schermo su righe separate.

for (int x = 1; x <= rsm.getColumnCount(); x++) {
System.out.println(rsm.getColumnName(x))

ANDARE

}

Consigli e avvertenze

  • A differenza di quasi ogni altra cosa in Java, i nomi delle colonne della partenza della classe JDBC ResultSetMetaData in una sola piuttosto che zero. Cercando di accedere colonna pari a zero per abitudine genererà un errore di runtime.