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中文網其他相關文章!