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

Countdown-Effekt mit Javascript implementieren

Verwenden Sie Javascript, um den Countdown-Effekt...

Einführung in die Installation des Vim-Plugins unter Linux

Inhaltsverzeichnis Installieren Sie den Vim-Plugi...

Vue + Express + Socket realisiert Chat-Funktion

In diesem Artikel wird der spezifische Code von V...

Methode und Optimierungsprinzip für langsame MySQL-Abfragen

1. Zum Vergleich der Datumsgröße muss das an XML ...

Methode und Einführung der Tabellenindexdefinition in MySQL

Überblick Ein Index ist eine vom DBMS basierend a...

Lösen Sie das Problem, dass die mit nginx erhaltene IP-Adresse 127.0.0.1 ist

Holen Sie sich das IP-Tool importiere lombok.exte...

Erste Schritte mit den JavaScript-Grundlagen

Inhaltsverzeichnis 1. Wo man JavaScript schreibt ...

So überwachen Sie globale Variablen im WeChat-Applet

Ich bin kürzlich bei der Arbeit auf ein Problem g...

Einige Kenntnisse über die absolute und relative Positionierung von Seitenelementen

Ab heute werde ich regelmäßig kleine Wissenspunkte...

So generieren Sie PDFs und laden sie im Vue-Frontend herunter

Inhaltsverzeichnis 1. Installation und Einführung...

Beispiele für ES6-Schleifen und iterierbare Objekte

Dieser Artikel untersucht die ES6-for...of-Schlei...