Sechsstufiger Beispielcode für eine JDBC-Verbindung (Verbindung zu MySQL)

Sechsstufiger Beispielcode für eine JDBC-Verbindung (Verbindung zu MySQL)

Sechs Schritte von JDBC:

1. Registrieren Sie den Treiber

2. Herstellen einer Datenbankverbindung

3. Holen Sie sich das Operationsobjekt der Datenbank

4. SQL-Anweisungen ausführen

5. Verarbeiten Sie den Abfrageergebnissatz (wenn die ausgeführte Anweisung keine Select-Anweisung enthält, muss dieser Schritt nicht geschrieben werden).

6. Ressourcen schließen

Schritt 1: Registrieren Sie den Treiber

//Ausnahmen müssen behandelt werden //Der Code kann je nach Version variieren. Die alte Version ist DriverManager.register(new com.mysql.jdbc.Driver());
//oder Class.forName("com.mysql.jdbc.Driver");
 
 
//Die neue Version ist DriverManager.register(new com.mysql.cj.jdbc.Driver());
//oder Class.forName("com.mysql.cj.jdbc.Driver");

Schritt 2: Herstellen einer Datenbankverbindung

//Da wir try..catch ausführen und die Ressource schließen müssen, schreiben wir es außerhalb von try und weisen ihm den Wert null zu. Connection conn = null;
...
//Der Rückgabewert ist Connection. Auch die URL-Schreibweise der alten und neuen Version ist unterschiedlich. // jdbc:mysql://localhost:3306/t_use ist dasselbe wie vorher. Ändern Sie t_use in Ihren eigenen Datenbanknamen. //Alte Version conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/t_use","Benutzername","Passwort");
 
 
//Neue Versionconn = DriverManager.getConnection("jdbc:mysql://localhost:3306/t_use?serverTimezone=GMT%2B8","Benutzername","Passwort");

Schritt 3: Holen Sie sich das Datenbankoperationsobjekt

//Dies ist die gleiche Verbindung wie vor der Anweisung st = null;
...
//Auf diese Weise wird das Objekt erstellt st = conn.createStatement();

Schritt 4: SQL-Anweisungen ausführen

//Schreiben Sie die SQL-Anweisung in Anführungszeichen String sql = " ";
//Verwende das gerade erstellte Objekt, um auf diese SQL-Anweisung zuzugreifen //Hier muss noch etwas gesagt werden. Wenn es keine Select-Anweisung ist, verwende die folgende. Der Rückgabewert ist ein int, daher ist Schritt 5 nicht erforderlich. st.executeUpdate(sql);
 
//Wenn die SQL-Anweisung „Select“ lautet, müssen Sie die folgende Anweisung verwenden und außerdem ein ResultSet-Objekt definieren, um diesen Wert zu erhalten. //Fahren Sie dann mit Schritt 5 fort. ResultSet rs = null; //Dasselbe wie Connection rs = st.executeQuery(sql);

Schritt 5: Verarbeiten des Abfrageergebnissatzes

//Dies wird nur von der Select-Anweisung verarbeitet, es kann nicht nur getString, sondern auch getInt usw. verwendet werden while (rs.next()) {
    String str = rs.getString("Der Name des auszugebenden Feldes");
}

Schritt 6: Schließen Sie die Ressource

//Die ersten fünf Schritte werden alle in try ausgeführt, und der sechste Schritt wird in finally ausgeführt. //Schließe die Verbindung if (rs != null) {
                versuchen {
                    rs.schließen();
                } Fang (SQLException-Ausnahmen) {
                    throwables.printStackTrace();
                }
            }
 
            wenn (st != null) {
                versuchen {
                    st.schließen();
                } Fang (SQLException-Ausnahmen) {
                    throwables.printStackTrace();
                }
            }
 
            wenn (conn != null) {
                versuchen {
                    Verbindung schließen();
                } Fang (SQLException-Ausnahmen) {
                    throwables.printStackTrace();
                }
            }

Es gibt auch eine Reihenfolge zum Schließen von Verbindungen: Schließen Sie zuerst das ResultSet, dann das Statement-Objekt und schließlich das Connection-Objekt.

Vollständiger Code

Paket jdbc.com;
importiere com.mysql.cj.protocol.Resultset;
 
importiere java.sql.*;
öffentliche Klasse Test02 {
    öffentliche statische void main(String[] args) {
 
        Verbindung conn = null;
        Anweisung st = null;
        Ergebnismenge rt = null;
        versuchen {
            //Verbindung registrieren (kann in einer Zeile geschrieben werden)
            //com.mysql.cj.jdbc.Driver Treiber = neuer com.mysql.cj.jdbc.Driver();
            DriverManager.registerDriver(neu com.mysql.cj.jdbc.Driver());
            //Datenbankverbindung abrufen conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/liu2?serverTimezone=GMT%2B8","Benutzername","Passwort");
            //Datenbankoperationsobjekt abrufen st = conn.createStatement();
            //SQL-Anweisung ausführen String sql = "select ename,sal from emp order by sal desc";
            rt = st.executeQuery(sql);
            //Abfrageanweisungen verarbeiten while (rt.next()) {
               String ename = rt.getString("ename");
               String sal = rt.getString("sal");
               System.out.println(ename + "," + sal);
           }
        } Fang (SQLException-Ausnahmen) {
            throwables.printStackTrace();
        }Endlich {
            //Verbindung schließen if (rt != null) {
                versuchen {
                    rt.schließen();
                } Fang (SQLException-Ausnahmen) {
                    throwables.printStackTrace();
                }
            }
 
            wenn (st != null) {
                versuchen {
                    st.schließen();
                } Fang (SQLException-Ausnahmen) {
                    throwables.printStackTrace();
                }
            }
 
            wenn (conn != null) {
                versuchen {
                    Verbindung schließen();
                } Fang (SQLException-Ausnahmen) {
                    throwables.printStackTrace();
                }
            }
 
 
        }
    }
}

Wenn Sie schließlich einen Wert übergeben möchten, kann dies zu SQL-Injection führen. Die Lösung besteht darin, Statement in PreparedStatement zu ändern, um SQL-Injection-Probleme zu vermeiden. Der Code des dritten und vierten Schritts unterscheidet sich jedoch geringfügig, daher werde ich nicht näher darauf eingehen. .

Zusammenfassen

Dies ist das Ende dieses Artikels über JDBC-Verbindungen (Verbindungen mit MySQL). Weitere relevante Inhalte zu JDBC- und MySQL-Verbindungen finden Sie in den vorherigen Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Eine vollständige Erklärung der MySQL JDBC-Programmierung in fünf Schritten
  • Detaillierter Prozess der MySQL-Datenbank-JDBC-Programmierung
  • Detaillierte Schritte zur Implementierung von JDBC in MySQL
  • Detaillierte Erläuterung der Verwendung von Java JDBC zur Verbindung mit einer MySQL-Datenbank
  • JDBC stellt eine Verbindung zu MySQL her und implementiert Fuzzy-Abfragen
  • MySQL-Datenbank-JDBC-Programmierung (Java stellt eine Verbindung zu MySQL her)
  • Detaillierte Schritte für Java zum Herstellen einer Verbindung mit MySQL 8.0 JDBC (IDEA-Version)
  • Beispielanalyse für den Zugriff auf öffentliche MySql-Methoden basierend auf JDBC
  • JDBC-Verbindung MySQL Schritt für Schritt Erklärung

<<:  CSS zum Erzielen des Effekts einer rotierenden Flip-Card-Animation

>>:  Detailliertes Tutorial zum Erstellen einer Continuous-Integration-Delivery-Umgebung basierend auf Docker+K8S+GitLab/SVN+Jenkins+Harbor

Artikel empfehlen

So beheben Sie das Eingabe-Jitter-Problem beim WeChat-Applet

Finden Sie das Problem Schauen wir uns zunächst d...

Schritte für den Exit-Fehlercode des Docker-Containers

Manchmal werden einige Docker-Container nach eine...

Node implementiert Suchfeld für Fuzzy-Abfragen

In diesem Artikelbeispiel wird der spezifische Co...

Allgemeine Benennungsregeln für CSS-Klassen und IDs

Öffentlicher Name der Seite: #wrapper - - Der äuß...

Schritte zum Installieren von Superset unter dem Win10-System

Superset ist ein leichtes Self-Service-BI-Framewo...

MySQL-FAQ-Serie: Wann werden temporäre Tabellen verwendet?

Einführung in temporäre Tabellen Was ist eine tem...

Häufige CSS-Fehler und Lösungen

Code kopieren Der Code lautet wie folgt: Untersch...

Win10 Docker-Toolsbox-Tutorial zum Erstellen einer PHP-Entwicklungsumgebung

Bild herunterladen Docker-Pull MySQL:5.7 docker p...

So stellen Sie MongoDB-Container mit Docker bereit

Inhaltsverzeichnis Was ist Docker einsetzen 1. Zi...

Welcher Befehl eignet sich besser für die unscharfe Suche nach Dateien in Linux?

1. Einleitung In diesem Artikel wird hauptsächlic...