tutorial hibernate (1)


gw harap u dah baca posting sebelumnya tentang mengapa ada hibernate πŸ˜€

cerita tentang hibernate

nah sekarang kita buat contoh kasus sederhananya πŸ˜€

misal kita buat kasus sendiri πŸ˜€ , kita mao buat aplikasi phonebook dan kita kebagian membuat busines logicnya, nah dan yang pengen dibuatin phonebook itu pengen setiap kontak punya, nama, telepon, email, website, kota dan alamat.

nah jadi kalo di kira2, mungkin tabelnya kayak gini :

nama telepon email website kota alamat

nah sekarang pertanyaannya, gimana cara bikinnya pake hibernate πŸ˜€

pertama buat file hibernate.cfg.xml di default package kalo u pake netbeans tinggal pilih file > new , trus pilih hibernate > hibernate configuration file, dan setelah jadi seperti ini isi filenya :




    
        org.hibernate.dialect.MySQLDialect
        com.mysql.jdbc.Driver
        jdbc:mysql://localhost:3333/wordpress
        root
        xxxxx
        create
    

nah gw jelasin :

hibernate.dialect tuh untuk menentukan jenis database yang gw pake, karena gw pake mysql, jadi nilainya org.hibernate.dialect.MySQLDialect

hibernate.connection.driver_class tuh untuk lokasi class driver yang dipake, karena gw pake mysql jadi drivernya com.mysql.jdbc.Driver

hibernate.connection.url tuh untuk lokasi database, nah disini lokasi database gw tuh di jdbc:mysql://localhost:3333/wordpress

hibernate.connection.username tuh buat username yang dipake buat koneksi ke database, dan gw pake useername root

hibernate.connection.password tuh untuk password yang dipake buat koneksi ke databsae, dan gw pake password rahasiadonk

hibernate.hbm2ddl.auto tuh untuk untuk jenis generate tabel, dan disini gw pake create yang artinya nanti hibernate bakal otomatis ngebuat tabel yang gak ada di database, ini menarik karena kita gak perlu CREATE TABLE BLA BLA BLA…

setelah itu gw representasiin tabel yang tadi kita butuhin jadi class seperti dibawah ini :

/*
 *  DILARANG MENGUBAH ATAU MENGHAPUS HAK CIPTA INI.
 * 
 *  Hak Cipta 2008 Eko Kurniawan Khannedy.
 *  Semua isi dalam file ini adalah hak milik dari Eko Kurniawan Khannedy.
 *  Anda tak diperkenankan untuk menggunakan file atau mengubah file ini
 *  kecuali Anda tidak menghapus atau merubah hak cipta ini.
 * 
 *  Pemilik tidak bertanggung jawab jika Anda menyalah gunakan file ini
 *  dan Pemilik TIDAK MENJAMIN apapun atas file ini.
 * 
 *  Anda bisa menghubungi pemilik hak cipta ini di :
 *  email : echo.khannedy@gmail.com
 *  blog : https://eecchhoo.wordpress.com/
 *  ym : echo_khannedy
 */
package org.eecchhoo.wordpress.hibernate.model;

/**
 *
 * @author echo
 */
public class Contact {

    private long id;

    private String nama;

    private String telepon;

    private String email;

    private String website;

    private String kota;

    private String alamat;

    public Contact() {
    }

    public String getAlamat() {
        return alamat;
    }

    public void setAlamat(String alamat) {
        this.alamat = alamat;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getKota() {
        return kota;
    }

    public void setKota(String kota) {
        this.kota = kota;
    }

    public String getNama() {
        return nama;
    }

    public void setNama(String nama) {
        this.nama = nama;
    }

    public String getTelepon() {
        return telepon;
    }

    public void setTelepon(String telepon) {
        this.telepon = telepon;
    }

    public String getWebsite() {
        return website;
    }

    public void setWebsite(String website) {
        this.website = website;
    }
}

nah setelah itu kita buat file mapping nya , kalo pake netbeans gampang tinggal pilih file > new file , trus pilih hibernate > hibernate mapping file :




    
        
            
        
        
        
        
        
        
        
    

dan sekarang update file hibernate.cfg.xml nya jadi seperti ini :




    
        org.hibernate.dialect.MySQLDialect
        com.mysql.jdbc.Driver
        jdbc:mysql://localhost:3333/wordpress
        root
        xxxxx
        create
        
    

nah sekarang kita coba proses DML nya πŸ˜€

/*
 *  DILARANG MENGUBAH ATAU MENGHAPUS HAK CIPTA INI.
 * 
 *  Hak Cipta 2008 Eko Kurniawan Khannedy.
 *  Semua isi dalam file ini adalah hak milik dari Eko Kurniawan Khannedy.
 *  Anda tak diperkenankan untuk menggunakan file atau mengubah file ini
 *  kecuali Anda tidak menghapus atau merubah hak cipta ini.
 * 
 *  Pemilik tidak bertanggung jawab jika Anda menyalah gunakan file ini
 *  dan Pemilik TIDAK MENJAMIN apapun atas file ini.
 * 
 *  Anda bisa menghubungi pemilik hak cipta ini di :
 *  email : echo.khannedy@gmail.com
 *  blog : https://eecchhoo.wordpress.com/
 *  ym : echo_khannedy
 */
package org.eecchhoo.wordpress.hibernate.test;

import java.util.List;
import org.eecchhoo.wordpress.hibernate.model.Contact;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

/**
 *
 * @author echo
 */
public class ContactTest {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        Configuration configuration = new Configuration().configure("hibernate.cfg.xml");
        SessionFactory sessionFactory = configuration.buildSessionFactory();

        {
            // proses insert
            Session session = sessionFactory.openSession();
            try {
                session.getTransaction().begin();

                Contact contact = new Contact();
                contact.setAlamat("Gak tau");
                contact.setEmail("echo.khannedy@gmail.com");
                contact.setKota("Bandung");
                contact.setNama("echo");
                contact.setTelepon("0809100600");
                contact.setWebsite("http://gaktau.com");

                session.save(contact);

                Contact contact2 = new Contact();
                contact2.setAlamat("Gak tau 2");
                contact2.setEmail("echo.khannedy@gmail.com2");
                contact2.setKota("Bandung2");
                contact2.setNama("echo2");
                contact2.setTelepon("08091006002");
                contact2.setWebsite("http://gaktau.com2");

                session.save(contact2);

                session.getTransaction().commit();
            } catch (Exception e) {
                session.getTransaction().rollback();
            }
        }

        {
            // proses update
            Session session = sessionFactory.openSession();
            try {
                session.getTransaction().begin();

                Contact contact = (Contact) session.load(Contact.class, 1L);
                contact.setEmail("hhui@gmail.com");

                session.getTransaction().commit();
            } catch (Exception e) {
                session.getTransaction().rollback();
            }
        }

        {
            // proses delete
            Session session = sessionFactory.openSession();
            try {
                session.getTransaction().begin();

                session.delete(session.load(Contact.class, 2L));

                session.getTransaction().commit();
            } catch (Exception e) {
                session.getTransaction().rollback();
            }
        }

        {
            // proses select
            Session session = sessionFactory.openSession();
            try {
                session.getTransaction().begin();
                
                @SuppressWarnings("unchecked")
                List list = session.createQuery("select a from Contact a").list();
                for (Contact contact : list) {
                    System.out.println(contact.getId());
                }

                session.getTransaction().commit();
            } catch (Exception e) {
                session.getTransaction().rollback();
            }
        }

    }
}

dan kalo dijalanin keluarannya “1″

heheehe, gak menarik y?

Iklan

15 pemikiran pada “tutorial hibernate (1)

  1. mas echo demi efisiensi baris code, mending constuktor di class Contact diisi aja, jgn kosongan.

    contoh sederhana:

    public Contact(String Nama, String Alamat, String Telepon)
    {
        this.Nama = Nama;
        this.Alamat = Alamat;
        this.Telepon = Telepon;
    }
    

    nah, nanti klo mau buat objek yang akan diinsert kayak gini aja :

    Contact C = new Contact(“valcon”,”JakalJogja”,”0274555666″);

    setelah itu tinggal distore deh, gitu aja mas.

    oya mas, hibernate juga bisa buat Replikasi gak? kayak di DDS(distributed database System)

    • gak bisa, soalnya hibernate, jpa, atau ORM lainnya itu
      membentuk object menggunakan metode
      newInstante() milik Class
      jadi class Entity wajib punya construktor yang tak
      berparameter πŸ˜€

  2. Ping balik: Belajar JaVa « WAHYU FIGHTER

  3. Ping balik: Tutorial Java dari Eko Kurniawan Khannedy « nge-WP@net

  4. di sebelah sini ada error => List list = session.createQuery(“select a from Contact a”).list();
    for (Contact contact : list) {
    System.out.println(contact.getId());
    }

    error nya found java.lang.object knp ya??

  5. Itu kan bisa create sendiri table’ya….
    kalo misalkan pengen otomastis bikin table kalo emang table tsb ga ada gmn????
    coz kan kalo di atas trus create table trus selama program itu d running

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s