English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Das folgende Beispiel verwendet CallableStatement und den folgenden MySQL-Speicherprozess getEmpName ()-
Stelle sicher, dass dieser Speicherprozess in der Datenbank EMP erstellt wurde. Du kannst dies mit dem MySQL-Query-Browser erledigen.
DELIMITER $$ DROP PROCEDURE IF EXISTS `EMP`.`getEmpName` $$ CREATE PROCEDURE `EMP`.`getEmpName` (IN EMP_ID INT, OUT EMP_FIRST VARCHAR(255)) BEGIN SELECT first INTO EMP_FIRST FROM Employees WHERE ID = EMP_ID; END $$ DELIMITER ;
Dieser Beispielcode wurde basierend auf den Umgebungs- und Datenbankeinstellungen der letzten Kapitel geschrieben.
Kopiere und füge den folgenden Beispielcode in JDBCExample.java ein und kompiliere und führe ihn aus:
//Schritt1.Importiere die erforderlichen Softwarepakete import java.sql.*; public class JDBCExample { // Name des JDBC-Treibers und der Datenbank-URL static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost/EMP"; // Datenbankanmeldeinformationen static final String USER = "username"; static final String PASS = "password"; public static void main(String[] args) { Connection conn = null; CallableStatement stmt = null; try{ //Schritt2: Registrieren Sie den JDBC-Treiber Class.forName("com.mysql.jdbc.Driver"); //Schritt3: Verbindung herstellen System.out.println("Connecting to database..."); conn = DriverManager.getConnection(DB_URL, USER, PASS); //Schritt4: Ausführen der Abfrage System.out.println("Creating statement..."); String sql = "{call getEmpName (?, ?)}"; stmt = conn.prepareCall(sql); //Zuerst binden Sie die IN-Parameter, dann die OUT-Parameter int empID = 102; stmt.setInt(1, empID); // Das wird die ID auf102 // Da der zweite Parameter OUT ist, wird er registriert stmt.registerOutParameter(2, java.sql.Types.VARCHAR); //Verwenden Sie die Methode execute, um den gespeicherten Prozess auszuführen. System.out.println("Executing stored procedure..."); stmt.execute(); //Verwenden Sie die Methode getXXX, um den Mitarbeiternamen abzurufen String empName = stmt.getString(2; System.out.println("Empätzname mit ID:") + empID + " ist " + Fehlerbehandlung für JDBC-Fehler catch(SQLException se conn.close(); }catch(SQLException se){ //}catch(Exception e){ se.printStackTrace(); Fehlerbehandlung für Class.forName //e.printStackTrace(); }finally{ Verwendung zum Schließen von Ressourcen //if(stmt!=null) try{ stmt.close(); catch(SQLException se }2{ } try{ if(conn!=null) conn.close(); }catch(SQLException se){ se.printStackTrace(); } } System.out.println("Auf Wiedersehen!"); }//main beenden }//JDBCExample beenden
Lassen Sie uns den obigen Beispielcode kompilieren, wie folgt:
C:\>javac JDBCExample.java C:\>
LaufzeitJDBCExamplees wird folgende Ergebnisse erzeugen-
C:\>java JDBCExample Datenbank verbinden... Anweisung erstellen... Speicherverfahren ausführen... Emp Name mit ID:102 ist Zaid Auf Wiedersehen! C:\>