How do I use DatabaseMetaData to get table column names?
In this example, we are using the DatabaseMetaData to retrieve table’s column names. The metadata information can be obtained by calling the connection.getMetaData(). Next, we can then get a ResultSet object by calling metadata.getColumns() method and passing the catalog name, schema pattern, table name pattern, and column name pattern. From this result set COLUMN_NAME, TYPE_NAME, […]
Artikel oleh Wayan · Sumber: Kode Java ↗
Terjemahan artikel ini belum tersedia. Isi asli ditampilkan.
In this example, we are using the DatabaseMetaData to retrieve table’s column names. The metadata information can be obtained by calling the connection.getMetaData(). Next, we can then get a ResultSet object by calling metadata.getColumns() method and passing the catalog name, schema pattern, table name pattern, and column name pattern.
From this result set COLUMN_NAME, TYPE_NAME, COLUMN_SIZE and other information can be read.
package org.kodejava.jdbc;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
public class DbMetadataExample {
private static final String URL = "jdbc:mysql://localhost/kodejava";
private static final String USERNAME = "kodejava";
private static final String PASSWORD = "s3cr*t";
public static void main(String[] args) {
try (Connection connection =
DriverManager.getConnection(URL, USERNAME, PASSWORD)) {
DatabaseMetaData metadata = connection.getMetaData();
ResultSet resultSet =
metadata.getColumns("kodejava", null, "book", null);
while (resultSet.next()) {
String name = resultSet.getString("COLUMN_NAME");
String type = resultSet.getString("TYPE_NAME");
int size = resultSet.getInt("COLUMN_SIZE");
System.out.println("Column name: [" + name + "]; " +
"type: [" + type + "]; size: [" + size + "]");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
A bit information of book table described below:
Column name: [id]; type: [BIGINT UNSIGNED]; size: [20]
Column name: [isbn]; type: [VARCHAR]; size: [50]
Column name: [title]; type: [VARCHAR]; size: [100]
Column name: [published_year]; type: [INT]; size: [10]
Column name: [price]; type: [DECIMAL]; size: [10]
Maven Dependencies
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>8.4.0</version>
</dependency>
