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 CodePaket 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. . ZusammenfassenDies 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:
|
<<: CSS zum Erzielen des Effekts einer rotierenden Flip-Card-Animation
Standardmäßig werden Breite und Höhe der Tabelle ...
Inhaltsverzeichnis Verpacken, Starten und Optimie...
Gehen Sie zu https://dev.mysql.com/downloads/mysq...
Dockerfile initialisieren Angenommen, unser Proje...
In diesem Artikel wird die Zusammensetzung der Ha...
Umweltbeschreibung: Es gibt eine laufende MySQL-U...
Inhaltsverzeichnis Vorwort 1. Konfigurieren Sie d...
In diesem Artikel wird kurz beschrieben, wie Sie ...
Heute habe ich mysql-5.7.18-winx64.zip von der of...
1. Einleitung Die Anforderung besteht darin, die ...
In diesem Artikelbeispiel wird der spezifische Ja...
In diesem Artikel finden Sie das Installations-Tu...
Inhaltsverzeichnis Zwei Möglichkeiten zur Lösung ...
1. Concat-Funktion. Häufig verwendete Verbindungs...
Beim Speichern von Daten in MySQL werden manchmal...