Sunday 19 May 2013

Kita telah berhasil membuat CRUD dengan Java dan MySQL. Tapi pada episode kali ini kita akan membahas yang namanya Batch Execution. Apa itu?.
Misalnya kita ingin meng-insert seratus baris data dalam sebuah loop, kita bisa menggunakan fasilitas batch execution dari PreparedStatement. Batch execution mengumpulkan semua eksekusi program yang akan dilaksanakan, setelah semuanya terkumpul batch execution kemudian mengirimkan kumpulan eksekusi program secara bersamaan ke DBMS dalam satu kesatuan. Metode ini sangat efisien karena mengurangi overhead yang diperlukan program untuk berkomunikasi dengan DBMS. Setiap kali iterasi, method setString() dipanggil untuk mengisikan sebuah string ke dalam PreparedStatement, kemudian method addBatch() dipanggil untuk mengumpulkan batch dalam satu wadah. Setelah iterasi selesai, method executeBatch() dipanggil untuk melaksanakan semua keseratus instruksi insert secara berurut dengan sekali saja melaksanakan koneksi ke database. [Ifnu Bima]

Berikut contoh programnya.
Pertama buka project yang telah kita buat pada episode sebelumnya dan buat class baru. Dalam hal ini ane beri nama BatchExecution.

5-19-2013 8-32-37 PM

Ketikkan kode berikut.
package CRUD;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

/**
 *
 * @author Administrator
 */
public class BatchExecution {

    public static void main(String[] args) throws SQLException {
        String insert = "Insert into tbmahasiswa values(?,?,?,?)";

        Connection connection = null;
        PreparedStatement ps = null;
        try {
            connection = koneksiJavaMySql.Koneksi.getKoneksi();
            connection.setAutoCommit(false);
            ps = connection.prepareStatement(insert);
            for (int i = 1; i <= 100; i++) {
                ps.setString(1, i + "");
                ps.setString(2, "akagami");
                ps.setString(3, "east blue");
                ps.setString(4, "1992-05-03");
                ps.addBatch();
            }
            ps.executeBatch();
            connection.commit();
            connection.setAutoCommit(true);
            System.out.println("Insert Berhasil");
        } catch (SQLException e) {
            System.out.println("Error : " + e.getMessage());
            connection.rollback();
        } finally {
            if (ps != null) {
                ps.close();
            }
        }
    }
}

Jalankan program kawan-kawan dan lihat apa yang terjadi.

Dowload project latihannya disini.
Download file sqlnya disini.
Posted by Unknown On 13:42 No comments

0 comments:

Post a Comment

  • RSS
  • Delicious
  • Digg
  • Facebook
  • Twitter
  • Linkedin
  • Youtube

Recent Post

Entri Populer

Total Pageviews

Visitor



Flag Counter

    About

    Orang yang berilmu mengetahui orang yang bodoh karena dia pernah bodoh, sedangkan orang yang bodoh tidak mengetahui orang yang berilmu karena dia tidak pernah berilmu.