Mehrere Zeilen gleichzeitig mit PreparedStatement in Java einfügen
Frage:
Wie kann man optimieren das Einfügen mehrerer Zeilen in eine MySQL-Tabelle mithilfe von Java, wobei die unterstützte MySQL-Syntax zum Einfügen mehrerer Werte in einen genutzt wird Anweisung?
Antwort:
Die Verwendung von PreparedStatement#addBatch() und PreparedStatement#executeBatch() ermöglicht die Erstellung eines Stapels von Einfügungen und dessen anschließende Ausführung.
Beispiel:
Überlegen Das folgende Beispiel zum Initiieren der Batch-Einfügung:
public void save(List<Entity> entities) throws SQLException { try ( Connection connection = database.getConnection(); PreparedStatement statement = connection.prepareStatement(SQL_INSERT); ) { int i = 0; for (Entity entity : entities) { statement.setString(1, entity.getSomeProperty()); // ... statement.addBatch(); i++; if (i % 1000 == 0 || i == entities.size()) { statement.executeBatch(); // Execute every 1000 items. } } } }
Implementierungsdetails:
Das obige ist der detaillierte Inhalt vonWie optimiere ich das Einfügen mehrerer Zeilen in MySQL mithilfe von Javas PreparedStatement?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!