ホームページ >データベース >mysql チュートリアル >Java で MySQL ストアド プロシージャを呼び出す方法

Java で MySQL ストアド プロシージャを呼び出す方法

PHPz
PHPzオリジナル
2023-04-21 11:24:142052ブラウズ

MySQL データベースでは、ストアド プロシージャは高い柔軟性と再利用性を備えており、複雑なデータベース操作を最適化し、データベースのパフォーマンスを向上させるためによく使用されます。 Java プログラムは、MySQL でストアド プロシージャを呼び出す必要があることがよくありますが、この記事では、Java が MySQL でストアド プロシージャを呼び出す方法の具体的な実装を紹介します。

1. ストアド プロシージャを作成する

まず、MySQL データベースにストアド プロシージャを作成する必要があります。ストアド プロシージャは、コマンド ラインまたは MySQL グラフィカル ツール (Navicat など) を使用して作成できます。

次は、指定されたライブラリ内のすべてのテーブル名を検索できる簡単なストアド プロシージャの例です:

CREATE PROCEDURE `GetAllTableNames`(IN dbName VARCHAR(100))
BEGIN
    SELECT table_name
    FROM information_schema.tables
    WHERE table_schema = dbName;
END

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

使用法MySQL ストアド プロシージャを呼び出す Java は、実際には JDBC (Java Database Connection) API のストアド プロシージャ関連メソッドを呼び出しています。 Java が MySQL ストアド プロシージャを呼び出す具体的な手順については、以下で詳しく紹介します。

  1. MySQL JDBC ドライバー パッケージのインポート

Java プログラムでは、MySQL JDBC ドライバー パッケージを使用する必要があります。MySQL Connector/J ドライバー パッケージの対応するバージョンは、次の場所からダウンロードできます。 MySQL 公式 Web サイトにアクセスし、Java プロジェクトの CLASSPATH に追加します。

  1. データベース接続の取得

JDBC を使用して Java で MySQL データベースに接続する手順は、通常のデータベース接続と同じです。最初にドライバーをロードする必要があります。をクリックしてデータベース接続を取得します。

Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");
  1. CallableStatement オブジェクトの作成

Java でストアド プロシージャを呼び出す中心的な手順は、CallableStatement オブジェクトを作成し、ストアド プロシージャの実行メソッドを呼び出すことです。 CallableStatement は PreparedStatement のサブクラスであり、入力パラメータまたは出力パラメータ、またはその両方を使用してステートメントを実行するために使用されます。ストアド プロシージャには通常、入力パラメータか出力パラメータ、あるいはその両方があります。

CallableStatement オブジェクトを作成する前に、ストアド プロシージャのパラメータ リストを準備する必要があります。たとえば、上記のストアド プロシージャの例では、dbName パラメータを渡す必要があり、CallableStatement オブジェクトは次のコードを通じて取得できます。

CallableStatement callableStatement = conn.prepareCall("{call GetAllTableNames(?)}");
callableStatement.setString(1, "test");

CallableStatement の setXX() メソッドは次のとおりです。 PreparedStatement の使用法と同様で、ストアド プロシージャの入力パラメータを設定するために使用します。

  1. execute メソッドを呼び出してストアド プロシージャを実行する

パラメーターの転送と CallableStatement オブジェクトの準備が完了したら、execute メソッドを呼び出して SQL ステートメントを実行できます。 。ストアド プロシージャの場合、ストアド プロシージャの特定の実装に応じて、execute()、executeQuery()、またはexecuteUpdate() の 3 つのメソッドのいずれかを呼び出すことができます。

ストアド プロシージャを実行した後、後続の処理のために結果セットを ResultSet オブジェクトに保存する必要があります。

ResultSet rs = callableStatement.executeQuery();
while (rs.next()) {
    System.out.println(rs.getString(1));
}

Java が MySQL ストアド プロシージャを呼び出すための完全なサンプル コードは次のとおりです:

Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");

CallableStatement callableStatement = conn.prepareCall("{call GetAllTableNames(?)}");
callableStatement.setString(1, "test");

ResultSet rs = callableStatement.executeQuery();
while (rs.next()) {
    System.out.println(rs.getString(1));
}

rs.close();
callableStatement.close();
conn.close();

3. 概要

この記事では、Java が MySQL ストアド プロシージャを呼び出すための具体的な手順を紹介します。ストレージ プロセスの作成、MySQL JDBC ドライバー パッケージのインポート、データベース接続の取得、CallableStatement オブジェクトの作成、ストアド プロシージャを実行するための実行メソッドの呼び出しなどのプロシージャを実行します。

Java による MySQL ストアド プロシージャの呼び出しは、Java 開発者がデータベース操作の効率とパフォーマンスを向上させるのに役立ちます。特定のニーズに応じて、ストアド プロシージャの実装を柔軟に調整して、より良い結果を得ることができます。

以上がJava で MySQL ストアド プロシージャを呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。