Java我怎么知道指定列的表名?
package org.nhooo.example.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/nhooo";
private static final String USERNAME = "root";
private static final String PASSWORD = "";
public static void main(String[] args) {
try (Connection connection =
DriverManager.getConnection(URL, USERNAME, PASSWORD)) {
Statement statement = connection.createStatement();
String query = "SELECT a.id, a.quantity, a.price, c.name "
+ "FROM order_details a "
+ "LEFT JOIN orders b ON a.order_id = b.id "
+ "LEFT JOIN products c on a.product_id = c.id";
ResultSet resultSet = statement.executeQuery(query);
//这里我们有一个使用多个表的查询,然后我们想要
//知道列属于哪个表。在里面
//ResultSetMetaData有一个getTableName()方法,可以
//做这个功能。
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();
}
}
}Maven依赖
<!-- https://search.maven.org/remotecontent?filepath=mysql/mysql-connector-java/8.0.17/mysql-connector-java-8.0.17.jar -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.17</version>
</dependency>热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短