首页 > 文章列表 > JDBC 中的 ResultSetMetaData 是什么?其意义何在?

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

132 2023-08-27

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

以下是 ResultSetMetaData 类的一些方法。

方法说明
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 columns
      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