Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Java:Chèn nhiều hàng vào MySQL với PreparedStatement

Bạn có thể tạo một loạt bằng cách PreparedStatement#addBatch() và thực thi nó bằng PreparedStatement#executeBatch() .

Đây là một ví dụ khởi động:

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

Nó được thực thi cứ sau 1000 mục vì một số trình điều khiển JDBC và / hoặc DB có thể có giới hạn về độ dài lô.

Xem thêm :



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lỗi nghiêm trọng:Lỗi không xác định:Gọi đến hàm không xác định mysql_connect ()

  2. Khắc phục “LỖI 1136 (21S01):Số cột không khớp với số giá trị ở hàng 1” khi Chèn dữ liệu trong MySQL

  3. MIN / MAX so với ORDER BY và LIMIT

  4. MySQL và JDBC với rewriteBishedStatements =true

  5. MySQL GROUP BY hành vi