ホームページ >データベース >mysql チュートリアル >Java による MySQL ストアド プロシージャの呼び出しについて話しましょう
MySQL ストアド プロシージャは、アプリケーションで再利用できるプリコンパイル済みの SQL コード ブロックです。ストアド プロシージャを使用して複雑なビジネス ロジックを実装できるため、開発者はアプリケーションのパフォーマンスと保守性を向上できます。 Java アプリケーションで MySQL ストアド プロシージャを呼び出すのは非常に簡単で便利です。この記事では、Java が MySQL ストアド プロシージャを呼び出す方法を紹介します。
まず、MySQL データベースにストアド プロシージャを作成する必要があります。以下は簡単な例です。このストアド プロシージャは、特定のユーザーをクエリし、ユーザーの詳細情報を返します:
CREATE PROCEDURE get_user_info(IN user_id INT) BEGIN SELECT * FROM user WHERE id = user_id; END;
次に、JDBC API を使用します。 MySQL データベースに接続するための Java アプリケーション。プロジェクトに MySQL JDBC ドライバーを必ず含めてください。以下は、MySQL データベースに接続するためのサンプル コードです。
import java.sql.*; public class MySQLConnection { public static void main(String[] args) { String url = "jdbc:mysql://localhost/mydatabase"; String user = "root"; String password = "mypassword"; try { Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection(url, user, password); System.out.println("Connected to MySQL database"); // ... // Invoke stored procedure here // ... con.close(); } catch (Exception e) { System.err.println("Error: " + e.getMessage()); } } }
JDBC 接続が完了したら、MySQL ストアド プロシージャを呼び出します。以下は、Java を使用して MySQL ストアド プロシージャを呼び出すためのサンプル コードです。
CallableStatement cs = con.prepareCall("{call get_user_info(?)}"); cs.setInt(1, 123); // Set input parameter ResultSet rs = cs.executeQuery(); if (rs.next()) { // Get output parameters here }
上記のコードでは、CallableStatement オブジェクトを使用してストアド プロシージャを実行します。最初のステップは、実行する SQL ステートメントを準備することです。SQL ステートメントは、ストアド プロシージャ名とパラメーター リストを表す疑問符を含む文字列です。この場合、get_user_info という名前のストアド プロシージャを呼び出し、ユーザー ID を入力パラメータとして渡します。 2 番目のステップでは、setInt メソッドを使用して入力パラメータの値を設定します。 3 番目のステップは、ストアド プロシージャを実行することです。このメソッドは、ストアド プロシージャの結果セットを含む ResultSet オブジェクトを返します。最後に、ResultSet オブジェクトを使用して出力パラメータの値を取得できます。
ストアド プロシージャを呼び出したら、ResultSet オブジェクトを使用して結果を処理できます。以下は、ストアド プロシージャの結果を読み取るサンプル コードです。
while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); int age = rs.getInt("age"); System.out.println("User ID: " + id); System.out.println("User Name: " + name); System.out.println("User Age: " + age); }
上記のコードでは、while ループを使用して、ResultSet オブジェクトの結果セットを繰り返し処理します。各行について、getInt メソッドを使用して id 列の値を取得し、getString メソッドを使用して name 列の値を取得し、getInt メソッドを使用して age 列の値を取得します。最後に、出力をユーザーに表示できます。
結論
Java アプリケーションで MySQL ストアド プロシージャを呼び出すのは非常に簡単で便利です。 JDBC API と CallableStatement オブジェクトを使用すると、ストアド プロシージャを実行し、結果を処理できます。ストアド プロシージャは、アプリケーションをより効率的に作成するのに役立つ MySQL データベースの強力なプログラミング ツールです。
以上がJava による MySQL ストアド プロシージャの呼び出しについて話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。