首頁  >  文章  >  資料庫  >  oracle 預存程序 呼叫 java

oracle 預存程序 呼叫 java

王林
王林原創
2023-05-07 19:43:39942瀏覽

Oracle 預存程序可以透過 Java 程式調用,這是一種使用 Java 技術存取資料庫的方式。本文將介紹如何將預存程序與 Java 結合,並提供相關範例程式碼。

一、使用 JDBC 存取 Oracle 資料庫

Java 資料庫連線(JDBC)是一個標準的用於連接到各種資料庫的 API,其中包含 Oracle 資料庫。在使用 JDBC 存取 Oracle 資料庫之前,需要先進行下列步驟:

1.下載並安裝 Oracle 資料庫。

2.下載並安裝 Java Development Kit(JDK)。

3.下載並安裝 Oracle JDBC 驅動程式。

下載Oracle JDBC 驅動程式有兩種方式:

-Oracle 官方網站下載:https://www.oracle.com/database/technologies/jdbc-drivers-12c-downloads. html

-Maven 依賴:

<dependency>
    <groupId>com.oracle.jdbc</groupId>
    <artifactId>ojdbc8</artifactId>
    <version>12.2.0.1</version>
</dependency>

4.設定資料庫連線資訊。

資料庫連線的資訊通常包括:

-資料庫的主機名稱或 IP 位址。

-資料庫的連接埠。

-資料庫的名稱。

-資料庫的使用者名稱和密碼。

可以透過以下方式來設定資料庫連線資訊:

String url = "jdbc:oracle:thin:@localhost:1521:orcl";
String user = "username";
String password = "password";

5.連接到資料庫。

使用下列程式碼連接到資料庫:

Connection connection = DriverManager.getConnection(url, user, password);

其中,DriverManager.getConnection 方法接受三個參數:URL,使用者名稱和密碼。

連接到資料庫後,就可以使用 Java 程式來執行各種操作,例如查詢、插入、更新和刪除。

二、Oracle 預存程序簡介

預存程序是一種預先編譯過的程序,能夠執行一系列 SQL 語句以完成特定的任務。預存程序具有以下優點:

-提高了效能:預存程序是預先編譯的,可以減少執行時間並提高效能。

-提高了安全性:預存程序可以確保權限僅限於授權使用者。

-簡化程式設計:預存程序可以封裝一些通用的業務邏輯,減少程式碼重複。

三、Java 呼叫 Oracle 預存程序

在 Java 中呼叫預存程序的程序分為以下步驟:

#1.建立 CallableStatement。

使用下列程式碼建立 CallableStatement:

CallableStatement cstmt = conn.prepareCall("{?= call procedure_name(?, ?, ...)}");

其中,conn 為資料庫連接對象,procedure_name 為儲存程序名稱。

?= 表示傳回值,? 表示輸入參數。

2.為輸入參數設定值。

使用下列程式碼為輸入參數設定值:

cstmt.setString(2, "input_param");

其中,2 表示應該設定為第二個參數的值,"input_param" 是實際的輸入參數值。

3.註冊輸出參數。

如果預存程序包含傳回值或輸出參數,則需要透過 registerOutParameter 方法進行註冊。例如:

cstmt.registerOutParameter(1, Types.INTEGER);

其中,1 表示第一個參數是傳回值,Types.INTEGER 表示傳回值類型為整數。

4.執行預存程序。

執行預存程序的程式碼如下:

cstmt.execute();

5.取得回傳值或輸出參數。

如果預存程序包含傳回值或輸出參數,則可以使用下列程式碼取得結果:

int result = cstmt.getInt(1);

其中,1 表示第一個參數是傳回值。

綜上所述,Java 呼叫 Oracle 預存程序的範例程式碼如下:

try {
    Class.forName("oracle.jdbc.driver.OracleDriver");  // 加载 JDBC 驱动
    Connection conn = DriverManager.getConnection(url, user, password);  // 连接到数据库
    CallableStatement cstmt = conn.prepareCall("{?= call procedure_name(?, ?)}");  // 创建 CallableStatement

    cstmt.registerOutParameter(1, Types.INTEGER);  // 注册输出参数

    cstmt.setString(2, "input_param1");  // 设置输入参数
    cstmt.setString(3, "input_param2");

    cstmt.execute();  // 执行存储过程

    int result = cstmt.getInt(1);  // 获取结果

    conn.close();  // 关闭数据库连接
} catch (Exception e) {
    e.printStackTrace();
}

以上程式碼示範如何連接到 Oracle 資料庫、建立 CallableStatement 並執行預存程序。

結論

本文介紹如何使用 Java 程式存取 Oracle 資料庫和呼叫預存程序。使用預存程序可以簡化編程、提高效能和安全性。透過結合 Java 技術和預存程序,可以更有效率地存取和操作 Oracle 資料庫。

以上是oracle 預存程序 呼叫 java的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn