Oracle ストアド プロシージャは、Java プログラムを通じて呼び出すことができます。これは、Java テクノロジを使用してデータベースにアクセスする方法です。この記事では、ストアド プロシージャと Java を組み合わせる方法を説明し、関連するサンプル コードを提供します。
1. JDBC を使用して Oracle データベースにアクセスする
Java Database Connection (JDBC) は、Oracle データベースを含むさまざまなデータベースに接続するための標準 API です。 JDBC を使用して Oracle データベースにアクセスする前に、次の手順を実行する必要があります:
1. Oracle データベースをダウンロードしてインストールします。
2. Java 開発キット (JDK) をダウンロードしてインストールします。
3. Oracle JDBC ドライバーをダウンロードしてインストールします。
Oracle JDBC ドライバーをダウンロードするには 2 つの方法があります:
-Oracle 公式 Web サイトのダウンロード: 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、ユーザー名、パスワードの 3 つのパラメーターを受け入れます。
データベースに接続した後、Java プログラムを使用して、クエリ、挿入、更新、削除などのさまざまな操作を実行できます。
2. Oracle ストアド プロシージャの概要
ストアド プロシージャは、一連の SQL ステートメントを実行して特定のタスクを完了できる、事前にコンパイルされたプログラムです。ストアド プロシージャには次の利点があります。
- パフォーマンスの向上: ストアド プロシージャは事前にコンパイルされているため、実行時間が短縮され、パフォーマンスが向上します。
-セキュリティの向上: ストアド プロシージャにより、アクセス許可が承認されたユーザーに限定されます。
-プログラミングの簡素化: ストアド プロシージャは、いくつかの一般的なビジネス ロジックをカプセル化し、コードの重複を減らすことができます。
3. Java による Oracle ストアド プロシージャの呼び出し
Java でストアド プロシージャを呼び出すプロセスは、次の手順に分かれています:
1. CallableStatement を作成します。
次のコードを使用して CallableStatement を作成します。
CallableStatement cstmt = conn.prepareCall("{?= call procedure_name(?, ?, ...)}");
このうち、conn
はデータベース接続オブジェクト、procedure_name
はストアド プロシージャです。名前。
?=
は戻り値を表し、?
は入力パラメータを表します。
2. 入力パラメータの値を設定します。
次のコードを使用して、入力パラメータの値を設定します。
cstmt.setString(2, "input_param");
ここで、 2
は、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 中国語 Web サイトの他の関連記事を参照してください。