備註:
- 本教學課程隨附於 Oracle 提供的免費實驗室環境。
- 此範例使用 Oracle Cloud Infrastructure 證明資料、租用戶及區間的範例值。完成實驗室時,請將這些值替代成雲端環境的特定值。
TASK 3:在 VS 代碼中建立 Micronaut 應用程式
在此實驗室中,您將建立 Micronaut 應用程式,並設定您的應用程式以與 Oracle Autonomous Database 通訊。
GraalVM Tools for Micronaut Extension 會預先安裝在 VS Code,作為佈建程序節省時間的一部分。Micronaut 支援也包含 Micronaut Launch 應用程式,可讓您透過 VS Code 內的介面建立 Micronaut 專案。與 GraalVM Tools for Java Extension 結合,預先安裝為相依性,您可以在 GraalVM Enterprise 上執行 Micronaut 專案,然後直接從 VS Code 進行除錯。
預估時間:15 分鐘
任務內容
在此工作中,您將:
- 建立新 Micronaut 應用程式
- 設定 Micronaut 應用程式以連線至 Oracle Autonomous Database 執行處理
- 設定 Oracle Autonomous Database JDBC 驅動程式
- 設定雙向以建立綱要
- 定義 SQL 移轉命令檔
步驟 1:建立新的 Micronaut 應用程式
-
在連線到遠端主機的 VS Code 視窗中,移至檢視,然後移至命令選盤 (命令選盤也可以按 F1 或 Linux 的 Ctrl+Shift+P 熱鍵組合來開啟),然後搜尋 "Micronaut"。
-
選取Micronaut:建立 Micronaut 專案以建立 Micronaut 專案。
-
請遵循精靈提示來設定專案:
-
選擇最新的 Micronaut 版本,不使用 SNAPSHOT 選擇選項
-
選取應用程式類型:Micronaut 應用程式
-
選取最新的可用 Java 版本。在建立此實驗室時,該實驗室為 GraalVM EE 22.0.0、Java 17
-
提供專案名稱:ocidemo
-
提供基本套裝程式名稱:com.example
-
選擇專案的語言:Java
-
新增專案的功能:資料庫:M Micronaut Data JDBC 和資料庫:Oracle Database Server。按確定
-
選擇 Maven 或 Gradle 作為組建工具
-
選擇測試架構:JUnit
-
選擇遠端主機上的目的地資料夾以儲存專案檔案:輸入 /home/opc/,然後按確定以確認。
您新建立的 Micronaut 專案檔案將在 VS Code 的目前工作區中開啟。
-
步驟 2:設定連線至 Oracle Autonomous Database 執行處理的應用程式
Oracle Cloud Autonomous Database 連線資訊與證明資料儲存在 Oracle Wallet 中。使用 Micronaut,您可以自動產生和下載公事包並設定資料來源。完成後續步驟以使用來自公事包的自動化資料來源組態:
-
按一下左側面板中的專案資料夾名稱,然後開啟
src/main/resources/下的application.yml檔案。 -
以下列資料取代預設檔案內容:

micronaut: application: name: ocidemo datasources: default: ocid: ocid1.autonomousdatabase.oc1... walletPassword: WALLET_PASSWORD username: DATABASE_USERNAME password: DATABASE_PASSWORD -
修改預設資料來源連線設定值。
- 傳回瀏覽器視窗,您應該會看到您的 Oracle Autonomous Database 執行處理主控台。在 Autonomous Database Information > 一般資訊下,尋找並複製執行處理的
ocid值。

- Return to VS Code and, in
application.yml, OCID in theocidfield. walletPassword是用來加密公事包內的金鑰,而且可以是您選擇的任何項目 (長度至少必須為 8 個字元,且至少必須包含一個字母和一個數字字元或一個特殊字元)。- 在先前的實驗室中建立資料庫綱要使用者時,
username和password值應該是您選擇的名稱和密碼。
- 傳回瀏覽器視窗,您應該會看到您的 Oracle Autonomous Database 執行處理主控台。在 Autonomous Database Information > 一般資訊下,尋找並複製執行處理的
附註:在 VS 程式碼檔案中不會自動儲存。若要儲存對特定檔案所做的變更,請前往檔案、儲存或全部儲存,將編輯儲存至大量檔案。或者,輸入
CTLR +S。
步驟 3:設定 Oracle Autonomous Database JDBC 驅動程式
您必須指定正確的 Oracle Database 驅動程式版本,以及專案根目錄之 pom.xml 檔案中的必要模組。
-
套用 Oracle Database BOM 21.1.0.0 或更新版本。
如果您使用 Maven,請在專案的根目錄開啟
pom.xml,並在repositories和dependencies區段之間插入下列內容:
<dependencyManagement> <dependencies> <dependency> <groupId>com.oracle.database.jdbc</groupId> <artifactId>ojdbc-bom</artifactId> <version>21.1.0.0</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>如果您使用 Gradle,請在專案的根目錄中開啟
build.gradle,然後在dependencies區塊的結尾插入下列項目:
implementation platform("com.oracle.database.jdbc:ojdbc-bom:21.1.0.0") -
在
micronaut-oraclecloud-atp模組上新增相依性。如果您使用 Maven,請開啟
pom.xml,並在dependencies區塊中插入下列內容:
<dependency> <groupId>io.micronaut.oraclecloud</groupId> <artifactId>micronaut-oraclecloud-atp</artifactId> <version>1.2.1</version> <scope>runtime</scope> </dependency>如果您使用 Gradle,請開啟
build.gradle,然後在dependencies區塊的結尾新增下列項目:
runtimeOnly("io.micronaut.oraclecloud:micronaut-oraclecloud-atp") -
啟用 OCI SDK 記錄日誌。
如果您使用 Maven,請開啟
pom.xml,並在dependencies區塊內新增下列相依性:
<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.13</version> <scope>runtime</scope> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>1.7.36</version> <scope>runtime</scope> </dependency>如果您使用 Gradle,請在
dependencies區塊上方插入下列組態:
configurations.all { resolutionStrategy.dependencySubstitution { substitute(module('commons-logging:commons-logging')) .using(module('org.slf4j:jcl-over-slf4j:1.7.36')) } }
步驟 4:設定雙向以建立綱要
接下來,您需要啟用「開源」雙向資料庫移轉工具程式的支援,讓您定義可管理及設定資料庫綱要的 SQL 命令檔,以便能夠逐步發展綱要和新版本的應用程式。
-
在
micronaut-flyway上新增相依性。如果您使用 Maven,請開啟
pom.xml,並在dependencies區塊中插入下列內容:
<dependency> <groupId>io.micronaut.flyway</groupId> <artifactId>micronaut-flyway</artifactId> <scope>runtime</scope> </dependency>如果您使用 Gradle,請開啟
build.gradle,然後在dependencies區塊的結尾新增下列項目:
runtimeOnly("io.micronaut.flyway:micronaut-flyway") -
切換至
src/main/resources/application.yml檔案,然後在第 10 行的datasources區段下方新增下列組態,以便讓「雙向」在啟動時執行:
flyway: datasources: default: enabled: true -
開啟
src/test/resources/下的application-test.yml檔案,並以下列「快速」項目取代檔案預設內容,其中會包含您的測試組態,並將「快速」設為在應用程式啟動時清除綱要,以確保測試以全新資料執行:
flyway: datasources: default: clean-schema: true
附註:在實際情況中,您將設定不同的資料庫來執行測試。
步驟 5:定義 SQL 移轉命令檔
下一步是定義將建立應用程式起始綱要的 SQL 移轉命令檔。
-
在
src/main/resources下建立db/migration資料夾。在src/main/resources上按一下滑鼠右鍵以展開內容功能表,然後選取新資料夾:
-
建立 SQL 檔案。在
src/main/resources/db/migration/上按一下滑鼠右鍵,以展開內容功能表並選取新檔案。命名為V1__create-schema.sql。 -
將下列 SQL 程式碼新增至檔案:

CREATE TABLE "PET" ("ID" VARCHAR(36),"OWNER_ID" NUMBER(19) NOT NULL,"NAME" VARCHAR(255) NOT NULL,"TYPE" VARCHAR(255) NOT NULL); CREATE TABLE "OWNER" ("ID" NUMBER(19) PRIMARY KEY NOT NULL,"AGE" NUMBER(10) NOT NULL,"NAME" VARCHAR(255) NOT NULL); CREATE SEQUENCE "OWNER_SEQ" MINVALUE 1 START WITH 1 NOCACHE NOCYCLE;上面的 SQL 命令檔會建立
owner和pet表格,以將擁有者及其寵物的資料儲存在 Autonomous Database 中。
您現在可以繼續下一個作業。