Java DatabaseMetaData supportsTransactions() 方法示例


DatabaseMetaData 介面的 **supportsTransactions()** 方法用於確定底層資料庫是否支援事務。

此方法返回一個布林值:

  • True,當底層資料庫支援儲存過程時。

  • False,當底層資料庫不支援儲存過程時。(原文錯誤:此處應為不支援事務,而非儲存過程)

要確定底層資料庫是否支援事務:

  • 確保您的資料庫正在執行。

  • 使用 DriverManager 類的 registerDriver() 方法註冊驅動程式。傳入對應於底層資料庫的驅動程式類的物件。

  • 使用 DriverManager 類的 getConnection() 方法獲取連線物件。將資料庫 URL、使用者名稱和密碼作為字串變數傳入。

  • 使用 Connection 介面的 getMetaData() 方法獲取當前連線的 DatabaseMetaData 物件。

  • 最後,呼叫 ResultSetMetaData 介面的 supportsTransactions() 方法(原文錯誤:此處應為DatabaseMetaData介面),並將返回值儲存在一個布林變數(例如 bool)中。如果此值為 true,則底層資料庫支援事務;否則不支援。

以下 JDBC 程式建立與 MySQL 資料庫的連線,並確定並列印它是否支援事務。

示例

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DatabaseMetadata_supportsTransactions {
   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......");
      //Retrieving the meta data object
      DatabaseMetaData metaData = con.getMetaData();
      //Determining whether the underlying database support transactions
      boolean bool = metaData.supportsTransactions();
      if(bool) {
         System.out.println("Underlying database support transactions");
      } else {
         System.out.println("Underlying database does not support transactions");
      }
   }
}

輸出

Connection established......
Underlying database support transactions

更新於:2019年7月30日

75 次檢視

開啟您的 職業生涯

完成課程獲得認證

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