ホームページ > データベース > Oracle > OracleストアドプロシージャはJavaを呼び出します

OracleストアドプロシージャはJavaを呼び出します

王林
リリース: 2023-05-07 19:43:39
オリジナル
946 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート