Java Connection getMetaData() 方法及示例


通常,關於資料的資料被稱為元資料。DatabaseMetaData 介面提供方法來獲取有關您已連線的資料庫的資訊,例如資料庫名稱、資料庫驅動程式版本、最大列長度等。

Connection 介面getMetaData() 方法檢索並返回 DatabaseMetaData 物件。這包含有關您已連線到的資料庫的資訊。您可以透過使用獲得的物件呼叫 DatabaseMetaData 介面的方法來獲取有關資料庫的資訊,例如資料庫的名稱、版本、驅動程式名稱、使用者名稱、URL 等。

此方法返回包含有關底層資料庫資訊的 DatabaseMetaData 物件。

使用 DatabaseMetaData 檢索 MySQL 資料庫元資料的步驟

以下是使用 DatabaseMetaData 檢索 MySQL 資料庫元資料的步驟:

  • 匯入必要的包
  • 註冊 MySQL 驅動程式
  • 建立資料庫連線
  • 建立DatabaseMetaData 物件
  • 檢查批處理更新支援
  • 檢索並列印元資料

使用 DatabaseMetaData 檢索 MySQL 資料庫元資料

以下是使用 DatabaseMetaData 檢索 MySQL 資料庫元資料的 Java 程式:

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Connection_getMetaData {
 public static void main(String args[]) throws SQLException {
//Registering the Driver
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
//Getting the connection
String url = "jdbc:mysql:///mydatabase";
Connection con = DriverManager.getConnection(url, "root", "password");
System.out.println("Connection established......");
//Creating the DatabaseMetaData object
DatabaseMetaData dbMetadata = con.getMetaData();
//invoke the supportsBatchUpdates() method.
boolean bool = dbMetadata.supportsBatchUpdates();
if(bool) {
 System.out.println("Underlying database supports batch updates");
} else {
 System.out.println("Underlying database doesn’t support batch updates");
}
//Retrieving the driver name
System.out.println("Driver name: "+dbMetadata.getDriverName());
//Retrieving the driver version
System.out.println("Database version: "+dbMetadata.getDriverVersion());
//Retrieving the user name
System.out.println("User name: "+dbMetadata.getUserName());
//Retrieving the URL
System.out.println("URL for this database: "+dbMetadata.getURL());
 }
}

輸出

Connection established......
Underlying database supports batch updates
Driver name: MySQL-AB JDBC Driver
Database version: mysql-connector-java-5.1.12 ( Revision: ${bzr.revision-id} )
User name: root@localhost
URL for this database: jdbc:mysql:///mydatabase

程式碼解釋

獲取底層資料庫的 DatabaseMetaData 物件

使用 DriverManager 類的 registerDriver() 方法註冊驅動程式,如下所示:

//Registering the Driver
DriverManager.registerDriver(new com.mysql.jdbc.Driver());

使用 DriverManager 類的 getConnection() 方法獲取連線,如下所示:

//Getting the connection
String url = "jdbc:mysql:///mydatabase";
Connection con = DriverManager.getConnection(url, "root", "password");

使用 getMetaData() 方法獲取元資料物件,如下所示:

DatabaseMetaData dbMetadata = con.getMetaData();

以下 JDBC 程式建立與資料庫的連線,並檢索有關底層資料庫的資訊,例如資料庫的名稱、驅動程式名稱、URL 等。

此 Java 程式連線到 MySQL 資料庫 並使用 DatabaseMetaData 介面檢索元資料。它首先註冊 MySQL JDBC 驅動程式,並使用 DriverManager 建立連線。建立連線後,它建立一個 DatabaseMetaData 物件來獲取資料庫詳細資訊。該程式檢查資料庫是否支援批處理更新並列印結果。它還檢索並列印驅動程式名稱、驅動程式版本、使用者名稱和資料庫 URL。此過程對於有效地理解和管理資料庫屬性至關重要。

更新於:2024年8月2日

2K+ 瀏覽量

啟動您的 職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.