Membangun aplikasi Java menggunakan H2 Embedded Database


Pada tulisan kali ini saya akan sedikit mengulas bagaimana cara kita membangun aplikasi Java dengan penyimpanan embedded Database. Apa maksud dari embedded database? Artinya database kita terintegrasi/menempel dengan aplikasi kita, sehingga kita dapat menjalankannya secara portable, keuntungannya selain cukup mudah, akses nya umumnya lebih cepat karena langsung mengakses sumber data. Saat ini banyak DBMS yang mendukung embedded database, yang cukup populer antara lain HSQLDB, SQLLite, Berkeley DB, H2. Kesempatan kali ini saya akan sedikit berbagi bagaimana membangun aplikasi Java dengan menggunakan H2 Embedded DB. H2 merupakan DBMS yang dibangun dari Java (Pure Java), sehingga akses nya bisa lebih mudah dan cepat, cukup menggunakan JDBC API, ukuran library nya pun terbilang kecil hanya sekitar 1MB saja, untuk mengetahui keunggulan yang lainnya bisa kita lihat di feature web resmi H2. Struktur bahasa di H2 juga tidak berbeda jauh dengan SQL pada umumnya, kurang lebih mirip dengan SQL Lite.

Contoh kali ini saya akan membuat proses CRUD Identitas Perusahaan dengan memanfaatkan framework EclipseLink untuk mengelola persistence nya. Pertama-tama download terlebih dahulu installer dan library H2 untuk mempermudah teman-teman membuat tablenya. Kemudian jalankan H2 di browser dengan alamat default localhost:8082. Pilih Generic H2 (Embedded) Setelah itu teman-teman buat DB nya, secara umum JDBC yang digunakan adalah ini jdbc:h2:~test, ubah nama test menjadi nama DB yang kita buat. tanda “~” menunjukkan direktori penyimpanan DB di disk kita, di Windows alamatnya berada di user C:UsersNama_User, jika teman-teman ingin menyimpan di direktori tertentu, teman-teman dapat mengubah nya sesuai yang diinginkan hasilnya seperti ini

Membuat table di H2

Jika kita koneksikan maka akan muncul halaman untuk membuat table, kita buat contoh table misalkan seperti ini.


CREATE TABLE M_PERUSAHAAN (
 ID_PERUSAHAAN INTEGER NOT NULL,
 NAMA_PERUSAHAAN VARCHAR(100) DEFAULT 'NULL',
 AKTIF VARCHAR(11) DEFAULT 'Aktif' NOT NULL,
 STATUS_MILIK VARCHAR(6) DEFAULT 'NULL',
 PRIMARY KEY (ID_PERUSAHAAN)
 );

Sebelumnya, untuk tipe data yang di support oleh H2 bisa teman-teman pelajari di file Help pada folder instalasi H2, disana cukup lengkap mulai tipe data yang di dukung H2, cara membuat table sampai trigger, ada semua 🙂 Atau kalo males kita juga bisa menggunakan tool untuk Generate DDL dari Relasional DBMS lain seperti MySQL, PostgreSQL. Kalau tool yang saya pake biasanya RazorSQL, itu juga dibangun dari Java, hehe

File yang dihasilkan dari embedded DB tersebut kemudian kita copy ke folder project kita. Selanjutnya kita membuat entitas di aplikasi kita

Membuat Java project di Netbeans

Kita buat contoh project untuk proses CRUD Identitas perusahaan, buat project baru kemudian copy-kan file database yang dibuat. Ada dua file, yang pertama berisi database, yang kedua berisi tracker (log) dari eksekusi yang berhubungan dengan DB tersebut. Jika selesai, tambahkan library H2 database engine dan EclipseLink untuk membuat entitasnya

Membuat Entitas dari H2

Klik kanan pada folder yang dipilih untuk menampung entitas, pilih New/Entity Classes from Database, koneksinya buat dari library H2 tadi, sehingga akan muncul dialog seperti dibawah ini, karena kita telah mengcopy DB ke project kita, maka JDBC urlnya cukup seperti ini jdbc:h2:”NamaDB”.

Jika koneksi kita berhasil, maka kita dapat membuat file entitas berdasarkan table yang kita buat. Hasilnya adalah file entitas sesuai table yang kita buat. Tahap selanjutnya kita membuat file controller untuk proses CRUD.

Membuat controller dari file Entitas Java

Kita buat package untuk menampung file controller, klik kanan pilih New/JPA Controller Classes from Entity Classes, yang secara default akan membuat CRUD secara mudah.

Nah, selanjutnya yang kita buat adalah UI yang berhubungan denngan input user, saya membuat form input sekaligus JTable yang berisi data yang telah tersimpan, kurang lebih seperti ini

Hasilnya ketika dijnalankan kita dapat membuat suatu form input, dimana database akan tersimpan di embedded DB yang telah kita buat.

Teknik ini juga cocok untuk membuat aplikasi yang bersifat personal, atau aplikasi pengolahan yang berdistribusi, sehingga tidak memerlukan jaringan. Oiya, hampir lupa, untuk mempermudah teman-teman memahami tulisan kali ini, saya juga menyertakan project Netbeans yang digunakan dalam tulisan ini. Mudah-mudahan tulisan kali ini bermanfaat buat teman-teman

Unduh di Dropbox

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s