Rumah > Java > javaTutorial > Bagaimanakah Saya Boleh Memasukkan Berbilang Baris dengan Cekap ke dalam MySQL Menggunakan Java PreparedStatements?

Bagaimanakah Saya Boleh Memasukkan Berbilang Baris dengan Cekap ke dalam MySQL Menggunakan Java PreparedStatements?

Barbara Streisand
Lepaskan: 2024-12-01 01:59:14
asal
303 orang telah melayarinya

How Can I Efficiently Insert Multiple Rows into MySQL Using Java PreparedStatements?

Memasukkan Berbilang Baris ke dalam MySQL dengan PreparedStatement

Selalunya, terdapat keperluan untuk memasukkan berbilang baris ke dalam pangkalan data sekaligus. Walaupun kaedah tradisional yang melibatkan lelaran pada setiap baris dan melaksanakan pernyataan sisipan boleh menjadi tidak cekap, MySQL menawarkan sintaks yang membenarkan memasukkan berbilang baris dalam satu pertanyaan:

INSERT INTO table (col1, col2) VALUES ('val1', 'val2'), ('val1', 'val2')[, ...]
Salin selepas log masuk

Menggunakan PreparedStatements untuk Batching

Untuk mengoptimumkan proses ini menggunakan Java dan PreparedStatements, pertimbangkan batching, disokong oleh kelas PreparedStatement. Dengan mencipta kumpulan dengan addBatch(), anda boleh melaksanakannya sebagai kumpulan menggunakan executeBatch().

Contoh Kod

Contoh berikut menunjukkan cara memasukkan sisipan kelompok:

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();
            }
        }
    }
}
Salin selepas log masuk

Pelaksanaan Kelompok Pengoptimuman

Pengumpulan dilaksanakan setiap 1000 item untuk mengelakkan pengehadan potensi pemacu atau pangkalan data JDBC.

Sumber Tambahan

  • [ Tutorial JDBC - Menggunakan PreparedStatement](https://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html)
  • [Tutorial JDBC - Menggunakan Objek Penyata untuk Kemas Kini Kelompok](https://docs.oracle .com/javase/tutorial/jdbc/basics/batchupdates.html)

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memasukkan Berbilang Baris dengan Cekap ke dalam MySQL Menggunakan Java PreparedStatements?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan