Heim >Datenbank >MySQL-Tutorial >So rufen Sie eine gespeicherte MySQL-Prozedur mit Java auf

So rufen Sie eine gespeicherte MySQL-Prozedur mit Java auf

PHPz
PHPzOriginal
2023-04-17 16:37:491046Durchsuche

Die gespeicherte MySQL-Prozedur ist eine benutzerdefinierte Funktion, die mehrere SQL-Anweisungen in einer einzigen wiederholbaren Ausführungseinheit kapselt. Das Aufrufen gespeicherter Prozeduren kann die Effizienz und Sicherheit des Datenbankbetriebs verbessern. Als gängige Entwicklungssprache für die Anwendungsentwicklung kann Java gut mit MySQL interagieren. In diesem Artikel erfahren Sie, wie Sie gespeicherte MySQL-Prozeduren mit Java aufrufen.

  1. Vorbereitung

Bevor wir beginnen, müssen wir sicherstellen, dass die folgenden beiden Aspekte der Vorbereitung abgeschlossen sind.

1.1 MySQL-Datenbank

Zuerst müssen Sie die MySQL-Datenbank installieren und konfigurieren. Sie können das Installationspaket von der offiziellen MySQL-Website herunterladen und es gemäß der offiziellen Dokumentation installieren und konfigurieren.

1.2 Java-Entwicklungsumgebung

Zweitens benötigen Sie eine Java-Entwicklungsumgebung, einschließlich JDK und Entwicklungstools. Es gibt viele Java-Entwicklungstools, darunter Eclipse, IntelliJ IDEA, NetBeans usw. In diesem Artikel wird Eclipse als Beispiel zur Demonstration verwendet.

  1. Gespeicherte MySQL-Prozedur erstellen

In diesem Artikel wird eine einfache gespeicherte MySQL-Prozedur als Beispiel verwendet. Die gespeicherte Prozedur empfängt zwei Parameter und vergleicht sie. Fügen Sie das Ergebnis hinzu und geben Sie es zurück.

Melden Sie sich zunächst bei der MySQL-Datenbank an und verwenden Sie die folgende Anweisung, um eine gespeicherte Prozedur mit dem Namen add_demo zu erstellen.

CREATE PROCEDURE add_demo (IN a INT, IN b INT, OUT c INT)
BEGIN
SET c = a + b;
END

Nachdem die obige Anweisung ausgeführt wurde, wird eine gespeicherte Prozedur namens add_demo in der MySQL-Datenbank erstellt.

  1. Java ruft gespeicherte MySQL-Prozeduren auf

Um gespeicherte MySQL-Prozeduren in Java aufzurufen, müssen Sie normalerweise das CallableStatement-Objekt von JDBC verwenden.

3.1 Laden des JDBC-Treibers

In Java müssen Sie den MySQL-Treiber über die Methode Class.forName() laden, der Code lautet wie folgt:

Class.forName("com.mysql.jdbc.Driver");

3.2 Stellen Sie eine Verbindung zur MySQL-Datenbank her.

Verwenden Sie die getConnection()-Methode von DriverManager, um ein Datenbankverbindungsobjekt zu erstellen:

Connection conn = DriverManager.getConnection(url, username, password);

Wo , URL ist die Verbindungszeichenfolge der Datenbank, Benutzername und Passwort sind der Benutzername und das Passwort der Verbindung.

3.3 Erstellen Sie ein CallableStatement-Objekt.

Nachdem Sie eine Verbindung zur Datenbank hergestellt haben, müssen Sie ein CallableStatement-Objekt erstellen, um die gespeicherte Prozedur auszuführen. Der Code lautet wie folgt:

CallableStatement cstmt = conn.prepareCall("{call add_demo(?,?,?)}");

Unter anderem ist {call add_demo(?,?,?)} die Syntax zum Aufrufen einer gespeicherten Prozedur. Da die gespeicherte Prozedur drei Parameter hat, werden drei Fragezeichen verwendet, um diese drei Parameter darzustellen.

3.4 Parameter festlegen

Nachdem Sie das CallableStatement-Objekt erstellt haben, müssen Sie die Parameterwerte der gespeicherten Prozedur festlegen. Der Code lautet wie folgt:

cstmt.setInt(1, 1);
cstmt.setInt(2, 2);
cstmt.registerOutParameter(3, Types.INTEGER);

Unter anderem wird die Methode setInt() zum Festlegen der ersten beiden Parameter der gespeicherten Prozedur und die Methode registerOutParameter() zum Registrieren des dritten Parameters verwendet die gespeicherte Prozedur, bei der es sich um einen Ausgabeparameter handelt, der den Rückgabewerttyp des Ausführungsergebnisses der gespeicherten Prozedur angibt.

3.5 Führen Sie die gespeicherte Prozedur aus.

Nachdem Sie die Parameter festgelegt haben, können Sie die gespeicherte Prozedur ausführen. Der Code lautet wie folgt:

cstmt.execute();

3.6 Rufen Sie das Ausführungsergebnis der gespeicherten Prozedur ab.

Nach dem Ausführen der gespeicherten Prozedur müssen Sie das Ausführungsergebnis der gespeicherten Prozedur abrufen. Der Code lautet wie folgt: Die Methode

int result = cstmt.getInt(3);

getInt() wird verwendet, um den Wert des Ausgabeparameters der gespeicherten Prozedur abzurufen.

  1. Vollständiger Beispielcode

Das Folgende ist ein vollständiges Java-Beispiel, das zeigt, wie eine gespeicherte MySQL-Prozedur aufgerufen wird.

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();
      }
  }
}

Referenz

  1. [MySQL](https://www.mysql.com/).
  2. [JDBC](https://docs.oracle.com/javase/tutorial/jdbc/basics/index.html).

Fazit

Java, der gespeicherte MySQL-Prozeduren aufruft, ist eine gängige Datenbankbetriebsmethode. Es kann die Effizienz und Sicherheit von Datenbankoperationen verbessern. In diesem Artikel haben wir gelernt, wie man mit Java gespeicherte MySQL-Prozeduren erstellt und gespeicherte MySQL-Prozeduren aufruft. Dies ist entscheidend für die Entwicklung effizienter und zuverlässiger Java-Anwendungen.

Das obige ist der detaillierte Inhalt vonSo rufen Sie eine gespeicherte MySQL-Prozedur mit Java auf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn