JDBC 中的 ResultSetMetaData 是什么?它有什么意义?

jdbcjava 8mysqlmysqli database

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

相关文章