o I’ll start a revolution from my bed
‘Cuz you said the brains I had went to my head
Step outside, summertime’s in bloom
Stand up beside the fireplace
Take that look from off your face
You ain’t ever gonna burn my heart out
– Dont Look Back In Anger, Oasis

Setelah posting sebelumnya , saya udah membahas mengenai POJO. Selanjutnya akan ada yang dinamakan dengan DAO (Data Access Object). DAO adalah class java  yang berisi operasi CRUD. Dan POJO hasil pemetaan database  menjadi parameter DAO yang dibuat.

POJO dan DAO

Berikut ini adalah contoh method insert pada sebuah DAO.


public void tambahMhs (Mahasiswa ophex){

ophex.setNRP(1);
ophex.setNama("ophex");
ophex.setPassword("mbuh");
HibernateUtil.getSessionFactory().getCurrentSession().save(ophex);

}

Di java ada banyak framework ORM yang dapat digunakan. Yang paling terkenal adalah Hibernate. Untuk alternatif lainnya ada TopLink Essentials, OpenJpa, Ibatis dan EclipseLink.

Untuk memetakan database kdalam POJO , kebanyakan framework menggunakan file XML. Pada hibernate misalnya, untuk satu tabel diperlukan satu file hbm.xml. Hal ini lah yang kadangkala merepotkan jika menggunkan framework ORM. Jika kita akan melakukan mapping terhadap 100 tabel, maka kita perlu membuat 100 file .hbm.xml.

HIbernate Mapping

Tapi jangan muntah darah dulu. Sudah ada beberapa tools yang ada untuk menyederhanakan proses mapping ini. Diantaranya adalah HibernateTools untuk Hibernate dan Ibator untuk Ibatis . Di Netbeans 6 bahkan sudah tersedia  menu untuk membuat DAO menggunakan framework TopLink, cukup klik kanan dan new entity class from database.

New Entity Class : Netbeans Style

Hmm kira kira demikian yang dapat saya sampaikan sementara ini. Masih utak atik hibernate tools dan  ibator, mencari cari dara bikin DAo yang enak dan praktis. Ill share it later.

Dibawah ini ada link dwenload PPT yang saya buat pas presentasi di kampus. Sharing session buat mata kuliah Database Technology. Semoga bisa membantu.

object-relational-mapping

Go Java Folks!!

: )

Kiki Ahmadi

Posting terkait

Posted by Kiki Ahmadi

Professional in Telco and Digital industry in Indonesia | Currently pursuing master's degree in Innovation Management and Entrepreneurship in University of Manchester

7 Comments

  1. ORM tampak mudah digunakan, tapi sebenarnya untuk menggunakan ORM dengan efektif kita harus paham dengan baik konsep ORM-nya, mulai dari mapping s.d query. Belum lagi konsep data fetching dan cascading. Seorang programmer java junior butuh waktu lama agar bisa produktif dengan ORM. Saya lebih prefer iBatis SQLMapper daripada ORM.

    Reply

  2. siiippp…. klo bisa lebih bnyak lagi materinya ki…. ato bikin buku aja sekalian loe he3x kan blm ada buku bhs indonesia yg membahas hibernate dengan detail… Aq juga baru soalnya 🙂

    Reply

  3. oooo gitu
    pura2ngerti.com

    Reply

  4. hmmm …. ki kalau dihubungkan sama konsep MVC, ORM + DAO itu ada di level model? nah trus kalo pake database yang bisa dikatakan bertabel banyak dan dinamis (bisa nambah2 tabel) enakan pake sqlmapper atau ORM?

    btw udah pernah buat ORM manually ga? ga usah pake hibernate

    Reply

  5. @ Bustanil
    saya ini jug masih bingung sebenarnya mas, kapan pake Ibatis kapan pake hibernate..

    🙂

    @ bay

    ah bisa aja loe bay.

    hehe, yah ini bagian dari usaha deh..

    sebelum bikin buku..

    🙂

    @ hanggadamai

    no komen

    @ noval78

    yoi coy..
    ada di level model.

    klo pertanyaan ini sih aq belum bisa jawab val..
    dari segi kemudahan emang enak pake sqlmapper model Ibatis..

    ntar aq bikin review dikit mengenai Ibatis deh..

    manually ?
    mbonjrot jeh..

    masih butuh hibernate aq.heheheh

    🙂

    Reply

  6. hola jo vui a vlener ibatotro favor

    Reply

  7. thx materialny, semoga belum terlambat untuk peelajari semua hal ini 🙂

    Reply

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