JDBC 中的 ResultSetMetaData 是什么?其意义何在?

ResultSetMetaData 提供有关获取的 ResultSet 对象的信息,例如列数、列名称、列数据类型、表名称等...

以下是 ResultSetMetaData 类的一些方法。

tr>
方法 说明
getColumnCount() 检索当前 ResultSet 对象中的列数。
getColumnLabel() 检索列的建议名称
getColumnName() 检索列的名称。
getTableName() 检索表的名称。

示例

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
public class ResultSetMetadataExample {
   public static void main(String args[]) throws Exception {
      //Registering the Driver
      DriverManager.registerDriver(new com.mysql.jdbc.Driver());
      //Getting the connection
      String mysqlUrl = "jdbc:mysql://localhost/TestDB";
      Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
      System.out.println("Connection established......");
      //Creating a Statement object
      Statement stmt = con.createStatement();
      //Retrieving the data
      ResultSet rs = stmt.executeQuery("select * from Dataset");
      ResultSetMetaData rsMetaData = rs.getMetaData();
      //Number of column

s System.out.println("Number of columns: "+rsMetaData.getColumnCount()); //Column label System.out.println("Column Label: "+rsMetaData.getColumnLabel(1)); //Column name System.out.println("Column Name: "+rsMetaData.getColumnName(1)); //Number of columns System.out.println("Table Name: "+rsMetaData.getTableName(1)); } }

输出

Connection established......
Number of columns: 2
Column Label: mobile_brand
Column Name: mobile_brand
Table Name: dataset