Java implementasi Batch processing untuk JDBC

2016, Aug 11 Java, JDBC, MariaDB, Netbeans

Halo kita lanjutkan postingan sebelumnya tentang konsep batch processing di JDBC. Nah jadi kali ini saya mau langsung aja bahas yang Batch Processing ya supaya gak terlalu panjang klo belum ngerti konsepnya silangkan baca lagi dengan seksama setelah mengerti baru lanjut ke artikel ini. Kodingnya seperti berikut tapi asalkan data dalam tabel jurusan harus kosongkan dulu, klo ada databasenya silahkan hapus dengan query seperti berikut:

Lanjutkan...


Konsep Batch Processing di JDBC

2016, Aug 11 Java, JDBC, MariaDB, Netbeans

Halo kembali lagi saya mau nulis sesuatu tentang batch processing di JDBC, di postingan sebelumnya tentang transaction, itu aja belum cukup. klo anda perhatikan koding berikut:

// opeon connection
try {
  // ngirim query ke database
  String sql = "INSERT INTO jurusan (id, nama) VALUES (?,?)";
  ps.executeUpdate();

  // ngirim lagi query ke database
  sql = "UPDATE jurusan SET id = ? WHERE nama = ?";
  ps.executeUpdate();

  // ngirim signal untuk disimpan secara permanen
  koneksi.commit();
  koneksi.close();
} catch (SQLException ex) {
  System.err.println("query ke 2 dan 3 gagal disimpan");
  // error handling
}

Dari koding tersebut kita ngirim query ke database sebanyak 2x, that is OK but how about more than 100x??? berapa banyak memory yang harus ditanggung CPU dan HDD? hal ini juga bakalan mengurangi performa aplikasi kamu karena anda akan membuka session di database sebanyak jumlah yang diopen. Maka dari itu kita butuh batch processing, yang jadi pertanyaan apa itu batch processing dan bagai mana cara kerjanya?

Lanjutkan...


Java implementasi transaction di JDBC

2016, Aug 10 Java, JDBC, MariaDB, Netbeans

Halo, ok kita lanjutkan ya postingan sebelumnya yang telah membicarakan tentang konsep seberapa pentingnya menggunakan konsep transaction pada JDBC. Mari kita buktikan berdasarkan postingan tersebut.

Lanjutkan...


Konsep transaction dalam JDBC

2016, Aug 10 Java, JDBC, MariaDB, Netbeans

Halo kembali lagi di blog saya, kalo dilihat-lihat udah lumayan panjang topik tentang JDBC ini mulai dari dasar CRUD terus kita udah memisahkan antara model dengan struktur JDBC menggunakan JavaBeans setelah itu kita melakukan modularisasi yang memisahkan antara struktural JDBC dengan menggunakan Data Akses Objek atau orang banyak bilang (DAO) dan yang terakhir kita melakukan externalisasi configurasi dengan properties. Nah jadi kali ini saya mau membahas tentang transaction, yang jadi pertanyaan apa itu transaction dan kenapa menggunakan transaction? padahal khan di materi sebelumnya khan it’s work fine!!

Lanjutkan...


Externalisasi konfigurasi JDBC menggunakan file properties

2016, Aug 8 Java, JDBC, MariaDB, Netbeans

Halo kembali lagi di blog saya, Jadi kali ini saya mau membahas tentang externalisasi konfigurasi pada JDBC yaitu tujuannya adalah memudahkan untuk melakukan perubahan konfigurasi ketika aplikasi di deploy ke server sesungguhnya. Jadi klo kita perhatikan pada koding postingan sebelumnya seperti berikut:

  @Override
  public List<Jurusan> selectAll() throws SQLException {
     Connection koneksi = DriverManager
      .getConnection("jdbc:mysql://localhost:3306/jdbc_mysql", "root", "admin");
     // logika select * from jurusan
     return null;
   }

  @Override
  public Jurusan save(Jurusan jurusan) throws SQLException {
     Connection koneksi = DriverManager
      .getConnection("jdbc:mysql://localhost:3306/jdbc_mysql", "root", "admin");
     // logika insert data jurusan
     return null;
   }

Nah kalo anda perhatikan, setiap kita mau lakukan sesuatu ke database entah itu select, insert, update ataupun delete kita pasti ada koding seperti berikut:

   Connection koneksi = DriverManager
    .getConnection("jdbc:mysql://localhost:3306/jdbc_mysql", "root", "admin");

Nah jadi ketika aplikasi di deploy khan otomatis kita harus menyesuaikan dengan alamat lokasi server magsudnya lokasi servernya juga gak mungkin localhost pasti diganti dengan ip address. jadi masalhnya khan kita harus ganti tuh semua yang ada dalam method getConnection(bla,bla,bla), maka dari itu supaya memudahkan kali ini kita akan melakukan externalisasi dengan menggunakan file properties.

Lanjutkan...