Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Java:Wstaw wiele wierszy do MySQL za pomocą PreparedStatement

Możesz utworzyć partię, PreparedStatement#addBatch() i wykonaj go przez PreparedStatement#executeBatch() .

Oto przykład rozpoczęcia:

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.
            }
        }
    }
}

Jest wykonywany co 1000 pozycji, ponieważ niektóre sterowniki JDBC i/lub bazy danych mogą mieć ograniczenie długości partii.

Zobacz też :



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dynamicznie twórz obiekt PHP na podstawie napisu

  2. Jak w SQL wybrać 2 górne wiersze dla każdej grupy?

  3. Eksportuj bazę danych MySQL do bazy danych SQLite

  4. Jak uzyskać nazwy wszystkich kolumn dla wszystkich tabel w MySQL?

  5. Maksymalne użycie pamięci MySQL