建置 Java 應用程式
若要建置存取 Autonomous Database 的 Java 應用程式,請從設定開發系統開始,以支援資料庫存取,並利用 Autonomous Database 的持續可用性和高效能功能。
設定您的開發系統以支援資料庫存取之後,您可以對應用程式中的資料庫連線和 SQL 敘述句編寫程式碼,以利用持續可用性和高效能功能。
秘訣:
如需閱讀下列主題的「試用」替代方案,請前往Oracle Autonomous Database Dedicated for Developers and Database Users Workshop 中的 Lab 5:Build Java Application Stacks 。相關主題
設定您的 Java 開發系統
若要設定您的開發系統,讓您的 Java 應用程式能夠利用 Autonomous Database 的持續可用性和高效能功能,請執行下列步驟。
- 下載並安裝 Java Development Kit (JDK)。
- 下載您 Autonomous Database 的從屬端證明資料。
- 取得 Oracle Java Database Connectivity (JDBC) 驅動程式。
Before You Begin - 開始之前
您的開發系統必須符合特定條件才能順利設定。
-
它必須能夠存取網際網路。
-
它必須具備 Autonomous Database 的網路存取權。
請參閱設定開發系統以存取資料庫,瞭解如何確保您的開發系統符合此需求。
下載並安裝 JDK
移至 Java SE 下載頁面。然後,依照頁面上的指示下載並安裝 JDK 8u221 或更新版本。
下載您 Autonomous Database 的用戶端憑證
-
將包含您資料庫之從屬端證明資料的壓縮檔下載至您電腦上的安全目錄。
您可以從 Oracle Cloud 主控台中資料庫的「詳細資訊」頁面下載此壓縮檔。如果您有允許您存取此頁面的 Oracle Cloud 使用者帳戶,請下載下列證明資料。如果您沒有此帳戶,則必須從資料庫管理員取得 zip 檔案,以及用來保護 zip 檔案的密碼。
-
在 Web 瀏覽器中,登入 Oracle Cloud 並瀏覽至 Autonomous Database 的「詳細資訊」頁面。
-
按一下資料庫連線。
-
在資料庫連線頁面上,按一下下載。
-
在下載公事包對話方塊的密碼欄位輸入密碼,然後在確認密碼欄位確認密碼。
密碼的長度至少要有 8 個字元,而且至少必須包含 1 個字元、1 個數字字元或 1 個特殊字元。
-
按一下下載並解壓縮,以將用戶端憑證 zip 檔案儲存至安全目錄。
-
取得 Oracle JDBC 驅動程式
從 Maven Central 或「Oracle 技術資源」的 JDBC 下載頁面,取得 Oracle JDBC 驅動程式 19.6.0.0 或更新版本。(如需相關的影片和其他資源,請參閱 Oracle Technologies JDBC 首頁。)
若要從 Maven Central 取得 JDBC 驅動程式,請依照下列步驟進行。
-
從 Central Maven Repository 取得 Oracle JDBC 驅動程式。
提供驅動程式 Maven 相依性 GAV (GroupID、ArtifactID、VersionID) 來提取
ojdbc8.jar
,以及其他 jar (例如oraclepki.jar
、osdt_core.jar
和osdt_cert.jar
)。請參閱 Maven Central Guide 。若為
ojdbc8.jar
版本 19.6.0.0,請提供此 GAV:<groupId>com.oracle.database.jdbc</groupId> <artifactId>ojdbc8</artifactId> <version>19.7.0.0</version>
若為
ojdbc8.jar
版本 19.7.0.0,請提供此 GAV:<groupId>com.oracle.database.jdbc</groupId> <artifactId>ojdbc8-production</artifactId> <version>19.7.0.0</version> <type>POM</type>
若要從「Oracle 技術資源」取得 JDBC 驅動程式,請執行下列步驟。
-
移至 Oracle JDBC 下載項目頁面。然後,選擇驅動程式的最新版本,移至其特定版本的下載頁面。
-
將此存檔下載並解壓縮至您要放置 JDBC 驅動程式的目錄:
ojdbc8-full.tar.gz
。 -
將連線 URL 指向您的 Autonomous Database 。
將
TNS_ADMIN
附加至連線 URL,將其值設為您解壓縮從屬端證明資料之目錄的完整路徑。舉例而言:// Use TNS alias name plus TNS_ADMIN with JDBC driver 18.3 or higher DB_URL="jdbc:oracle:thin:@wallet_dbname? TNS_ADMIN=/Users/test/wallet_dbname"; // For Microsoft Windows, use this for TNS_ADMIN: // TNS_ADMIN=C:\\Users\\test\\wallet_dbname”;
-
將下列解壓縮的 JAR 檔案路徑新增至編譯和執行 Java 程式時所使用的
CLASSPATH
環境變數。使用 DataSourceSample.java 或 UCPSample.java 驗證與 Autonomous Database 的連線。
ojdbc8.jar
:核心 JDBC 驅動程式oraclepki.jar
、osdt_core.jar
和osdt_cert.jar
:適用於使用公事包式認證的 Autonomous Databaseucp.jar
:用於通用連線集區 (UCP)ons.jar
和simplefan.jar
:FAN (快速應用程式通知) 支援
程式碼資料庫連線和 SQL 敘述句
將您的開發系統設定為支援與 Autonomous Database 的 Java 應用程式連線之後,請遵循下列準則,以實現應用程式與資料庫連線的高效能和持續可用性:
- 使用連線集區。
- 啟用 FAN (快速應用程式通知)。
- 使用最符合您要執行之作業的預先定義資料庫服務。如需預先定義之資料庫服務的相關資訊,請參閱自治式資料庫的預先定義資料庫服務名稱。
舉例而言:
import java.sql.Connection;
import javax.sql.PooledConnection;
import oracle.jdbc.OracleConnection;
import oracle.jdbc.replay.OracleDataSourceFactory;
import oracle.jdbc.replay.OracleDataSource;
import oracle.jdbc.replay.OracleConnectionPoolDataSource;
...
PoolDataSource pds = PoolDataSourceFactory.getPoolDataSource();
// Set the connection factory first before all other properties
pds.setConnectionFactoryClassName(
"oracle.jdbc.replay.OracleConnectionPoolDataSourceImpl");
pds.setFastConnectionFailoverEnabled(true);
pds.setURL("jdbc:oracle:thin:@tp_tls?TNS_ADMIN=/users/jdoe/adbcredentials");
pds.setUser("appuser");
pds.setPassword("<password>");
pds.setConnectionPoolName("JDBC_UCP_POOL");
Connection conn = pds.getConnection();
其他資源
- Oracle Database 19c JDBC Developer's Guide 中的 Introducing JDBC 或 Oracle Database 23ai JDBC Developer's Guide
- Oracle Database 19c JDBC Developer's Guide 中的 Oracle Database JDBC Java API Reference 或 Oracle Database 23ai JDBC Developer's Guide
- Oracle Database 19c Universal Connection Pool Developer's Guide 中的 Introduction to UCP 或 Oracle Database 23ai Universal Connection Pool Developer's Guide
- Oracle Database 19c Universal Connection Pool Java API Reference 或 Oracle Database 23ai Universal Connection Pool Java API Reference 中的 Oracle Universal Connection Pool API Reference