English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dies ist der typische Ablauf der Verwendung von Batch und Statement-Objekt zusammen.-
Diese beiden MethodencreateStatement()Dieser Methoden erstellt ein Statement-Objekt.
Das Setzen des automatischen Commit auf false wird verwendet. setAutoCommit().
VerwendenaddBatch()Methoden auf dem erstellten Statement-Objekt fügen beliebig viele SQL-Anweisungen in den Batch-Prozess ein.
VerwendenexecuteBatch()Methoden auf dem erstellten Statement-Objekt aus.
Schließlich führen Sie alle SQL-Anweisungen mit demcommit()Methode, um alle Änderungen zu bestätigen.
Dieser Beispielcode wurde basierend auf den Umgebungs- und Datenbankeinstellungen der vorangegangenen Kapitel erstellt.
Kopieren und fügen Sie den folgenden Beispielcode in JDBCExample.java ein, wie folgt kompilieren und ausführen:
// Importieren Sie die erforderlichen Pakete 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; Statement stmt = null; if(conn!=null) // Registrieren Sie das JDBC-Treiber Class.forName("com.mysql.jdbc.Driver"); // Öffnen Sie die Verbindung System.out.println("Verbinden mit Datenbank..."); conn = DriverManager.getConnection(DB_URL, USER, PASS); // Erstellen Sie das Statement System.out.println("Erstellen von Statement..."); stmt = conn.createStatement(); // Setzen Sie den automatischen Commit auf false conn.setAutoCommit(false); // Zunächst wählen wir alle Zeilen aus und zeigen sie an. printRows( stmt ); // Erstellen Sie ein SQL-Statement String SQL = "INSERT INTO Employees (id, first, last, age) " + "Werte(200, 'Zia', 'Ali', 30)"; // Fügen Sie den obigen SQL-Befehl zur Batch hinzu. stmt.addBatch(SQL); // Erstellen Sie ein weiteres SQL-Statement SQL = "INSERT INTO Employees (id, first, last, age) " + "Werte(201,'Raj', 'Kumar', 35)"; // Fügen Sie den obigen SQL-Befehl zur Batch hinzu. stmt.addBatch(SQL); // Erstellen Sie ein weiteres SQL-Statement SQL = "UPDATE Employees SET age = ", 35 "; + "WHERE id = ", 100"; // Fügen Sie den obigen SQL-Befehl zur Batch hinzu. stmt.addBatch(SQL); // Ein int[] erstellen, um die zurückgegebenen Werte zu speichern int[] count = stmt.executeBatch(); //Explicite Commit-Anweisung, um Änderungen anzuwenden conn.commit(); // Gleichzeitig lassen Sie uns alle Zeilen auswählen und anzeigen. printRows( stmt ); // Umgebung bereinigen catch(SQLException se catch(SQLException se){ } //Fehlerbehandlung von JDBC se.printStackTrace(); } //Fehlerbehandlung von Class.forName e.printStackTrace(); } //Ressourcen schließen if(conn!=null) stmt.close(); catch(SQLException se }2{ } if(conn!=null) conn.close(); catch(SQLException se){ } se.printStackTrace(); } } System.out.println("Auf Wiedersehen!"); }//main beenden public static void printRows(Statement stmt) throws SQLException{ System.out.println("Anzeigender verfügbare Zeilen..."); // Lassen Sie uns alle Zeilen auswählen und anzeigen. String sql = "SELECT id, first, last, age FROM Employees"; ResultSet rs = stmt.executeQuery(sql); while(rs.next()){ //Nach Spaltenname suchen int id = rs.getInt("id"); int age = rs.getInt("age"); String first = rs.getString("first"); String last = rs.getString("last"); //Angezeigte Werte System.out.print("ID: ",) + id); System.out.print(", Alter: ",) + age); System.out.print(", First: " + first); System.out.println(", Last: " + last); } System.out.println(); rs.close(); }//结束printRows() }//结束JDBCExample
现在让我们编译上面的示例,如下所示:
C:\>javac JDBCExample.java C:\>
运行时JDBCExample,它将产生以下结果-
C:\>java JDBCExample 连接到数据库... 创建语句... 显示可用的行... ID: 95, Age: 2, First: Sima, Last: Chug ID: 100, Age: 18, First: Zara, Last: Ali ID: 101, Age: 25, First: Mahnaz, Last: Fatma ID: 102, Age: 3, First: Zaid, Last: Khan ID: 103, Age: 3, First: Sumit, Last: Mittal ID: 110, Age: 2, First: Sima, Last: Chug 显示可用的行... ID: 95, Age: 2, First: Sima, Last: Chug ID: 100, Age: 35, First: Zara, Last: Ali ID: 101, Age: 25, First: Mahnaz, Last: Fatma ID: 102, Age: 3, First: Zaid, Last: Khan ID: 103, Age: 3, First: Sumit, Last: Mittal ID: 110, Age: 2, First: Sima, Last: Chug ID: 200, Age: 3, First: Zia, Last: Ali ID: 201, Age: 35, First: Raj, Last: Kumar Goodbye! C:\>