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 ストアド プロシージャを呼び出す具体的な手順については、以下で詳しく紹介します。
Java プログラムでは、MySQL JDBC ドライバー パッケージを使用する必要があります。MySQL Connector/J ドライバー パッケージの対応するバージョンは、次の場所からダウンロードできます。 MySQL 公式 Web サイトにアクセスし、Java プロジェクトの CLASSPATH に追加します。
JDBC を使用して Java で MySQL データベースに接続する手順は、通常のデータベース接続と同じです。最初にドライバーをロードする必要があります。をクリックしてデータベース接続を取得します。
Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");
Java でストアド プロシージャを呼び出す中心的な手順は、CallableStatement オブジェクトを作成し、ストアド プロシージャの実行メソッドを呼び出すことです。 CallableStatement は PreparedStatement のサブクラスであり、入力パラメータまたは出力パラメータ、またはその両方を使用してステートメントを実行するために使用されます。ストアド プロシージャには通常、入力パラメータか出力パラメータ、あるいはその両方があります。
CallableStatement オブジェクトを作成する前に、ストアド プロシージャのパラメータ リストを準備する必要があります。たとえば、上記のストアド プロシージャの例では、dbName パラメータを渡す必要があり、CallableStatement オブジェクトは次のコードを通じて取得できます。
CallableStatement callableStatement = conn.prepareCall("{call GetAllTableNames(?)}"); callableStatement.setString(1, "test");
CallableStatement の setXX() メソッドは次のとおりです。 PreparedStatement の使用法と同様で、ストアド プロシージャの入力パラメータを設定するために使用します。
パラメーターの転送と 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 サイトの他の関連記事を参照してください。