package org.kodejava.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
public class TableNameOfColumnExample {
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)) {
String query = """
SELECT a.id, a.quantity, a.price, c.name
FROM purchase_order_detail a
LEFT JOIN purchase_order b ON a.order_id = b.id
LEFT JOIN product c on a.product_id = c.id
""";
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query);
// Here we have a query that use multiple table, we then want
// to know to which table a column belongs to. In the
// ResultSetMetaData there is a getTableName() method that can
// do this functionality.
ResultSetMetaData metadata = resultSet.getMetaData();
String tableName = metadata.getTableName(1);
System.out.println("Table name of column `a.id` = " + tableName);
tableName = metadata.getTableName(4);
System.out.println("Table name of column `c.name` = " + tableName);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
The output of the code snippet above is:
Table name of column `a.id` = purchase_order_detail
Table name of column `c.name` = products
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