Jumat, 30 Maret 2012

sample tutorial hibernate in netbeans 6.9

Hallo hallo semua,
Hari ini saya mau tulis tutorial mengenai mapping database mysql menggunakan framework hibernate di netbeans.
Bahan yang perlu ada :
- netbeans (dalam hal ini saya pake netbeans versi 6.9)
- jdk1.6 (compiler java)
- hibernate (biasanya uda include di dalam netbeans)

Pertama buat database di MySQL, saya buat database dbLatihan dan table CONTACT
gambar 1.  dbLatihan

gambar 2. Table CONTACT

gambar 3. Describe Table CONTACT


Setelah database dan table sudah dibuat, buka netbeans kemudian create java project.
File -> New Project -> Categories : Java -> Projects : Java Application.

Kemudian masukan library Hibernate dan Mysql ke project yang baru kita buat. 
Klik kanan pada Libraries -> Add Library.. -> cari Hibernate dan MySQL lalu di Add Library

Setelah itu buat file hibernate.cfg.xml :
Klik kanan pada project yang tadi kita buat -> New -> Others -> Categories : Hibernate -> Hibernate Configuration Wizard -> pada File Name : hibernate.cfg -> kemudian pilih connection pada Database Connection (yang dipilih koneksi ke dbLatihan)

gambar 4. Create File hibernate.cfg.xml

gambar 5. Pilih Database Connection

Setelah file hibernate sudah dibuat, maka ada beberapa yang perlu di edit. Jadi pindahkan ke mode XML view lalu tambah kan beberapa line yang tidak ada dalam gambar. Bisa dilihat seperti gambar dibawah ini.
gambar 6. File hibernate.cfg.xml

File hibernate.cfg.xml itu digunakan sebagai config untuk melakukan koneksi ke databse. Kemudian kita  buat file hibernate.reveng.xml, file xml yang biasa digunakan untuk memodifikasi setingan default ketika melakukan generate file hibernate dari metadata database yang terkandung dalam file hibernate.reveng.xml
Caranya :
Klik kanan pada project yang tadi dibuat -> New -> Others -> Hibernate -> Hibernate Reverse Engineering Wizard -> pada File Name : hibernate.reveng -> nanti akan muncul pop up window untuk melakukan koneksi ke database yang kita buat, isi username password -> Kemudian akan muncul table yang di bagian kiri -> Lalu tabel tadi kita add.

gambar 7. Create Hibernate Reverse Engineering Wizard

gambar 8. Pop up window untuk melakukan koneksi ke database

gambar 9. Table yang ada di database 

gambar 10. Add table lalu finish

Setelah file hibernate.reveng.xml sudah dibuat maka tampilannya seperti dibawah ini.

gambar 10. File hibernate.reveng.xml

Lalu kita buat mapping dari database ke class. Caranya :
Klik kanan New -> Others -> Hibernate -> Hibernate Mapping Files And POJOS from Database -> Next -> pada package isi dengan entity.

gambar 11. Create Mapping Files

gambar 11. package entity

Setelah berhasil maka akan terbentuk class Contact.java dan Contact.hbml.xml. Sedikit pengetahuan dari saya, kalau Contact.java itu digunakan untuk melakuan set dan get ke table. Kemudian Contact.hbm.xml tadi digunakan kita untuk memaping dari Table CONTACT yang di database dengan class Contact.java yang kita generate tadi.
Oh ya ada yang kelupaan, kita mesti bikin class HibernateUti.java. Itu digunakan untuk melakukan koneksi di java. Pada hibernate, untuk melakukan koneksi kita menggunakan session.
Caranya :
Klik kanan New -> Other -> Hibernate -> HibernateUtil.java -> pada File Name : HibernateUtil.java


gambar 12. Create File HibernateUtil.java

Setelah itu kita buat coba tes untuk melakukan select query menggunakan class di java. 

import entity.Contact;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import java.util.List;

public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here

        try {
            Session session = sakila.util.HibernateUtil.getSessionFactory().openSession();
            session.beginTransaction();
            Query q = session.createQuery("from Contact");
            List result = q.list();
            Contact co = (Contact) result.get(0);
            System.out.println("first name "+co.getFirstname());
            session.getTransaction().commit();
        } catch (HibernateException he) {
            he.printStackTrace();
        }
    }

}

Kalau di run, hasilnya 

first name ardi

Ribet yak, tp gampang kan. Sekian dulu dari saya. Kalau kurang jelas bisa lihat di sini

0 komentar:

Posting Komentar