ホームページ >データベース >mysql チュートリアル >Java による MySQL ストアド プロシージャの呼び出しについて話しましょう

Java による MySQL ストアド プロシージャの呼び出しについて話しましょう

PHPz
PHPzオリジナル
2023-04-17 16:37:51575ブラウズ

MySQL ストアド プロシージャは、アプリケーションで再利用できるプリコンパイル済みの SQL コード ブロックです。ストアド プロシージャを使用して複雑なビジネス ロジックを実装できるため、開発者はアプリケーションのパフォーマンスと保守性を向上できます。 Java アプリケーションで MySQL ストアド プロシージャを呼び出すのは非常に簡単で便利です。この記事では、Java が MySQL ストアド プロシージャを呼び出す方法を紹介します。

  1. ストアド プロシージャの作成

まず、MySQL データベースにストアド プロシージャを作成する必要があります。以下は簡単な例です。このストアド プロシージャは、特定のユーザーをクエリし、ユーザーの詳細情報を返します:

CREATE PROCEDURE get_user_info(IN user_id INT)
BEGIN
    SELECT * FROM user WHERE id = user_id;
END;
  1. JDBC 接続データベース

次に、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());
        }
    }
}
  1. ストアド プロシージャの呼び出し

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 オブジェクトを使用して出力パラメータの値を取得できます。

  1. 結果の処理

ストアド プロシージャを呼び出したら、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 サイトの他の関連記事を参照してください。

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