Javaを使用してMySQLストアドプロシージャを呼び出す方法
MySQL ストアド プロシージャは、複数の SQL ステートメントを単一の反復可能な実行ユニットにカプセル化するユーザー定義関数です。ストアド プロシージャを呼び出すと、データベースの操作効率とセキュリティが向上します。アプリケーション開発の主流の開発言語として、Java は MySQL とうまく対話できます。この記事では、Java を使用して MySQL ストアド プロシージャを呼び出す方法を学習します。
- 準備
始める前に、次の 2 つの準備が完了していることを確認する必要があります。
1.1 MySQL データベース
まず、MySQL データベースをインストールして構成する必要があります。 MySQL の公式 Web サイトからインストール パッケージをダウンロードし、公式ドキュメントに従ってインストールおよび設定できます。
1.2 Java 開発環境
次に、JDK や開発ツールを含む Java 開発環境が必要です。 Eclipse、IntelliJ IDEA、NetBeans など、多くの Java 開発ツールがあります。この記事では、デモンストレーションの例として Eclipse を使用します。
- MySQL ストアド プロシージャの作成
この記事では、単純な MySQL ストアド プロシージャを例として取り上げます。ストアド プロシージャは 2 つのパラメータを受け取り、それらを追加して結果を返します。
まず、MySQL データベースにログインし、次のステートメントを使用して add_demo という名前のストアド プロシージャを作成します。
CREATE PROCEDURE add_demo (IN a INT, IN b INT, OUT c INT) BEGIN SET c = a + b; END
上記のステートメントを実行すると、add_demo という名前のストアド プロシージャが MySQL データベースに作成されます。
- Java による MySQL ストアド プロシージャの呼び出し
Java で MySQL ストアド プロシージャを呼び出すには、通常、JDBC CallableStatement オブジェクトを使用する必要があります。
3.1 JDBC ドライバーをロードする
Java では、Class.forName() メソッドを通じて MySQL ドライバーをロードする必要があります。コードは次のとおりです。
Class.forName("com.mysql.jdbc.Driver");
3.2 MySQL データベースに接続します
DriverManager の getConnection() メソッドを使用してデータベース接続オブジェクトを作成します。コードは次のとおりです:
Connection conn = DriverManager.getConnection(url, username, password);
このうち、url はデータベースの接続文字列、ユーザー名ですとパスワードは、データベースに接続するためのユーザー名とパスワードです。
3.3 CallableStatement オブジェクトの作成
データベースに接続した後、ストアド プロシージャを実行するために CallableStatement オブジェクトを作成する必要があります。コードは次のとおりです。
CallableStatement cstmt = conn.prepareCall("{call add_demo(?,?,?)}");
このうち、{call add_demo(?,?,?)} はストアド プロシージャを呼び出すための構文です。ストアド プロシージャには 3 つのパラメータがあるため、これら 3 つのパラメータを表すために 3 つの疑問符が使用されます。
3.4 パラメータの設定
CallableStatement オブジェクトを作成した後、ストアド プロシージャのパラメータ値を設定する必要があります。コードは次のとおりです。
cstmt.setInt(1, 1); cstmt.setInt(2, 2); cstmt.registerOutParameter(3, Types.INTEGER);
このうち、setInt() メソッドはストアド プロシージャの最初の 2 つのパラメータを設定するために使用され、registerOutParameter() メソッドはストアド プロシージャの 3 番目のパラメータを登録するために使用されます。このパラメータは出力パラメータであり、ストアド プロシージャの実行結果の戻り値の型を示します。
3.5 ストアド プロシージャの実行
パラメータを設定した後、ストアド プロシージャを実行できます。コードは次のとおりです。
cstmt.execute();
3.6 ストアド プロシージャの実行結果の取得
ストアド プロシージャの実行後、ストアド プロシージャの実行結果を取得する必要があります。コードは次のとおりです。
int result = cstmt.getInt(3);
getInt() メソッドは、ストアド プロシージャの出力パラメータの値を取得するために使用されます。
- 完全なサンプル コード
次は、MySQL ストアド プロシージャを呼び出す方法を示す完全な Java の例です。
import java.sql.*; public class Demo { public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/test"; String username = "root"; String password = "123456"; try { Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection(url, username, password); CallableStatement cstmt = conn.prepareCall("{call add_demo(?,?,?)}"); cstmt.setInt(1, 1); cstmt.setInt(2, 2); cstmt.registerOutParameter(3, Types.INTEGER); cstmt.execute(); int result = cstmt.getInt(3); System.out.println("Result: " + result); } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); } } }
参考
- [MySQL](https://www.mysql.com/)。
- [JDBC](https://docs.oracle.com/javase/tutorial/jdbc/basics/index.html)。
以上がJavaを使用してMySQLストアドプロシージャを呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

この記事では、MySQLのAlter Tableステートメントを使用して、列の追加/ドロップ、テーブル/列の名前の変更、列データ型の変更など、テーブルを変更することについて説明します。

記事では、証明書の生成と検証を含むMySQL用のSSL/TLS暗号化の構成について説明します。主な問題は、セルフ署名証明書のセキュリティへの影響を使用することです。[文字カウント:159]

記事では、MySQLで大規模なデータセットを処理するための戦略について説明します。これには、パーティション化、シャード、インデックス作成、クエリ最適化などがあります。

記事では、MySQLワークベンチやPHPMyAdminなどの人気のあるMySQL GUIツールについて説明し、初心者と上級ユーザーの機能と適合性を比較します。[159文字]

この記事では、ドロップテーブルステートメントを使用してMySQLのドロップテーブルについて説明し、予防策とリスクを強調しています。これは、バックアップなしでアクションが不可逆的であることを強調し、回復方法と潜在的な生産環境の危険を詳述しています。

記事では、外部キーを使用してデータベース内の関係を表すことで、ベストプラクティス、データの完全性、および避けるべき一般的な落とし穴に焦点を当てています。

この記事では、クエリパフォーマンスを強化するために、PostgreSQL、MySQL、MongoDBなどのさまざまなデータベースでJSON列にインデックスの作成について説明します。特定のJSONパスのインデックス作成の構文と利点を説明し、サポートされているデータベースシステムをリストします。

記事では、準備されたステートメント、入力検証、および強力なパスワードポリシーを使用して、SQLインジェクションおよびブルートフォース攻撃に対するMySQLの保護について説明します。(159文字)
