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>
Latest posts by Wayan (see all)
- How do I get number of each day for a certain month in Java? - September 8, 2024
- How do I get operating system process information using ProcessHandle? - July 22, 2024
- How do I sum a BigDecimal property of a list of objects using Java Stream API? - July 22, 2024