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
Finden Sie das Problem Schauen wir uns zunächst d...
Dieser Artikel stellt hauptsächlich die Lösung fü...
Manchmal werden einige Docker-Container nach eine...
In diesem Artikelbeispiel wird der spezifische Co...
Öffentlicher Name der Seite: #wrapper - - Der äuß...
herunterladen http://nginx.org/en/download.html E...
Superset ist ein leichtes Self-Service-BI-Framewo...
Einführung in temporäre Tabellen Was ist eine tem...
vertical-align wird hauptsächlich verwendet, um d...
Code kopieren Der Code lautet wie folgt: Untersch...
Bild herunterladen Docker-Pull MySQL:5.7 docker p...
Nur 15 Zeilen CSS und Ihr iPhone stürzt ab Der Si...
Inhaltsverzeichnis Was ist Docker einsetzen 1. Zi...
1. Einleitung In diesem Artikel wird hauptsächlic...
Mysql Left Join ist ungültig und wie man es verwe...