如何在 Java 中使用 MySQL 獲取結果集中的列名?


若要獲得結果集中的列名,你需要使用 getMetaData() 方法。getMetadata() 的原型如下 −

ResultSetMetaData getMetaData throws SQLException;

建立包含 5 個列名的 MySQL 表。建立表的查詢如下 −

mysql> create table javagetallcolumnnames
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> Name varchar(20),
   -> Age int,
   -> Salary float,
   -> Address varchar(100),
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (1.34 sec)

以下是獲取 ResultSet 中列名的 Java 程式碼。程式碼如下 −

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import com.mysql.jdbc.ResultSetMetaData;
public class GetAllColumnNames {
   public static void main(String[] args) {
      String JdbcURL="jdbc:mysql://:3306/test?useSSL=false";
      String Username="root";
      String password="123456";
      Connection con=null;
      Statement stmt=null;
      ResultSet rs;
      try {
         con = DriverManager.getConnection(JdbcURL, Username, password);
         stmt=con.createStatement();
         rs = stmt.executeQuery("SELECT *FROM javagetallcolumnnames");
         ResultSetMetaData md = (ResultSetMetaData) rs.getMetaData();
         int counter = md.getColumnCount();
         String colName[] = new String[counter];
         System.out.println("The column names are as follows:");
         for (int loop = 1; loop <= counter; loop++) {
            colName[loop-1] = md.getColumnLabel(loop);
            System.out.println(colName[loop-1]);
         }
      } catch(Exception e) {
         e.printStackTrace();
      }
   }
}

以下是程式碼的程式碼片段 −

以下是輸出 −

The column names are as follows:
Id
Name
Age
Salary
Address

以下是示例輸出的程式碼片段 −

更新於: 2019 年 7 月 30 日

609 次瀏覽

開啟您的職業

透過完成課程獲得認證

開始
廣告