welcome back pembaca sekalian….!

Sudah berapa bulan terakhir saya udah gak nulis lagi,  akhirnya pada hari ini (gak tw tanggal berapa) saya mencoba untuk menulis kembali karena berhubung data di hardisk udah penuh maka saya mencoba membagi sebagian isi data tersebut lewat blog ini. .demikian alasan saya…🙂🙂

apa yang akan dibahas kali ini?..yuppzzzzz…bertepatan dengan judul diatas maka tanpa basa-basi kita langsung aja membuat aplikasinya..! PERTAMA-TAMA yang perlu disediakan tentunya Netbeans 6.7 , MySQL 5 dan sejuta SEMANGAT !! kenapa perlu semangat??karena tanpa semangat aplikasinya pasti error ..🙂 selain semangat, saya juga berharap pembaca sudah sedikit paham tentang penggunaan framework Hibernate dan pemahaman lain mengenai Database dan JAVAsetelah semua persyaratan diatas sudah terpenuhi, maka ikutilah langkah-langkah berikut tanpa berkedip sekalipun :

  • buka MySQL yang sudah terinstal sebelumnya, kemudian buat sebuah database baru yang diberi nama dbkampus..setelah itu tutup kembali  MySQL nya..(tanya : “kok gk buat table nya?” jawab : “karena pake konsep ORM (Object Relational Mapping)”).
  • buka Netbeans yang juga sudah terinstal sebelumnya, kemudian buat sebuah project baru dan beri nama Simple Aplikasi Hibernate.
  • setelah itu, klik kanan project kemudian pilih New -> Entity Class dan beri nama Entity Class tersebut dengan Mahasiswa. untuk package diberi nama  Entity. setelah itu Finish..

  • jadilah  sebuah Class Mahasiswa.java.Lalu ubah source code class mahasiswa tersebut menjadi seperti berikut :
package Entity;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

/**
 *
 * @author Berto
 */
@Entity
public class Mahasiswa implements Serializable {

    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    @Column(name = "nim", length = 10, unique = true, nullable = true)
    private Long nim;
    @Column(name = "nama", length = 50, unique = false, nullable = false)
    private String nama;
    @Column(name = "progdi", length = 50, unique = false, nullable = true)
    private String progdi;
    @Column(name = "fakultas", length = 50, unique = false, nullable = false)
    private String fakultas;
    @Column(name = "alamat", length = 100, unique = false, nullable = false)
    private String alamat;
    @Column(name = "kota", length = 100, unique = false, nullable = false)
    private String kota;

    public Long getId() {
        return id;
    }

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

    public String getAlamat() {
        return alamat;
    }

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

    public String getFakultas() {
        return fakultas;
    }

    public void setFakultas(String fakultas) {
        this.fakultas = fakultas;
    }

    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 Long getNim() {
        return nim;
    }

    public void setNim(Long nim) {
        this.nim = nim;
    }

    public String getProgdi() {
        return progdi;
    }

    public void setProgdi(String progdi) {
        this.progdi = progdi;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (id != null ? id.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Mahasiswa)) {
            return false;
        }
        Mahasiswa other = (Mahasiswa) object;
        if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "Entity.Mahasiswa[id=" + id + "]";
    }
}
  • kalau Class Mahasiswa udah jadi diubah, sekarang buat Hibernate konfigurasinya. Caranya yaitu :  klik kanan project kemudian pilih New ->  Other -> lalu pada Categories pilih Hibernate dan pada Text sebelah kanan pilih Hibernate Configuration Wizard, lalu Next ->  Next lagi-> dan pada Database Connection, pilih database dbkampus yang sudah dibuat sebelumnya. setelah itu Finish….

  • Hasilnya Berupa File Hibernate.cfg.xml. sesuailan kode programnya menjadi :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
  <session-factory>
    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/dbkampus</property>
    <property name="hibernate.connection.username">root</property>
    <property name="hibernate.hbm2ddl.auto">update</property>
    <mapping class="Entity.Mahasiswa"/>
  </session-factory>
</hibernate-configuration>
  • lanjutkan dengan membuat sebuah class Interface baru dengan cara klik kanan project kemudian pilih New -> Java Interface dan beri nama dengan MahasiswaInterface. untuk package nya diberi nama Interface..lalu ubah code programnya menjadi sbb:
package Interface;

import Entity.Mahasiswa;
import java.util.List;

/**
 *
 * @author Berto
 */
public interface MahasiswaInterface {

    void insert(Mahasiswa mahasiswa);

    void update(Mahasiswa mahasiswa);

    void delete(Mahasiswa mahasiswa);

    Mahasiswa getMahasiswaByID(Long ID);

    List listMahasiswa();
}
  • sampai disini jangan dulu pusing…tarik napas yang panjang lewat hidung, buanglah lewat bawah..🙂🙂 . setelah class Interface dibuat, sekarang waktunya membuat DAO . caranya yaitu klik kanan project kemudian pilih New -> Java Class dan beri nama MahasiswaDAO.untuk packagenya diberi nama DAO.ubah lagi code programnya menjadi sbb:
package DAO;

import Entity.Mahasiswa;
import Interface.MahasiswaInterface;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
import org.hibernate.Session;
import org.hibernate.SessionFactory;

/**
 *
 * @author Berto
 */
public class MahasiswaDAO implements MahasiswaInterface {

    private SessionFactory facktory;

    public MahasiswaDAO(SessionFactory facktory) {
        this.facktory = facktory;
    }

    public void insert(Mahasiswa mahasiswa) {
        Session session = facktory.openSession();
        try {
            session.beginTransaction();
            session.save(mahasiswa);
            session.getTransaction().commit();
        } catch (IllegalStateException ex) {
            session.getTransaction().rollback();
            JOptionPane.showMessageDialog(null, ex);
        } finally {
            session.close();
        }
    }

    public void update(Mahasiswa mahasiswa) {
        Session session = facktory.openSession();
        try {
            session.beginTransaction();
            session.update(mahasiswa);
            session.getTransaction().commit();
        } catch (IllegalStateException ex) {
            session.getTransaction().rollback();
            JOptionPane.showMessageDialog(null, ex);
        } finally {
            session.close();
        }
    }

    public void delete(Mahasiswa mahasiswa) {
        Session session = facktory.openSession();
        try {
            session.beginTransaction();
            session.delete(mahasiswa);
            session.getTransaction().commit();
        } catch (IllegalStateException ex) {
            session.getTransaction().rollback();
            JOptionPane.showMessageDialog(null, ex);
        } finally {
            session.close();
        }
    }

    public Mahasiswa getMahasiswaByID(Long ID) {
        Session session = facktory.openSession();
        session.beginTransaction();
        Mahasiswa mahasiswa = null;
        try {
            mahasiswa = (Mahasiswa) session.load(Mahasiswa.class, ID);
            session.getTransaction().commit();
        } catch (Exception ex) {
            session.getTransaction().rollback();
            JOptionPane.showMessageDialog(null, ex);
        }
        return mahasiswa;
    }

    public List listMahasiswa() {
        Session session = facktory.openSession();
        session.beginTransaction();
        List list = new ArrayList();
        try {
            list = session.createQuery("FROM Mahasiswa order by nim ASC").list();
            session.getTransaction().commit();
        } catch (IllegalStateException ex) {
            session.getTransaction().rollback();
            JOptionPane.showMessageDialog(null, ex);
        }
        return list;
    }
}
  • sudah selesai? yakinkan bahwa semua hal diatas tidak terjadi error….klu dah yakin sekarang buat sebuah Class lagi dengan cara klik kanan project kemudian New -> Java Class dan beri nama class nya dengan HibernataUtil.untuk packagenya diberi nama Util. ubah lagi codenya sbb:
package Util;

import DAO.MahasiswaDAO;
import Interface.MahasiswaInterface;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;

/**
 *
 * @author Berto
 */
public class HibernateUtil {

    private static final SessionFactory sessionFactory;
    private static final MahasiswaInterface mhsInter;

    static {
        sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
        mhsInter = new MahasiswaDAO(sessionFactory);
    }

    public static SessionFactory getSessionFactory() {
        return sessionFactory;
    }

    public static MahasiswaInterface getMahasiswa() {
        return mhsInter;
    }
}
  • Hal terakhir yang dilakukan adalah membuat Class Main. buat sebuah Java Class baru dan beri nama Main…setelah itu ubah codingnya menjadi :
import Entity.Mahasiswa;
import Interface.MahasiswaInterface;
import Util.HibernateUtil;

public class Main {

    public static void main(String[] args) {
        try {
            MahasiswaInterface mhsInter = HibernateUtil.getMahasiswa();
            Mahasiswa mhs = new Mahasiswa();
            mhs.setNim(Long.parseLong("682006017"));
            mhs.setNama("Galberto Tuwondila");
            mhs.setProgdi("Sistem Informasi");
            mhs.setFakultas("Teknologi Informasi");
            mhs.setAlamat("Seruni");
            mhs.setKota("Salatiga");
            //Untuk Menambahkan Data....
            mhsInter.insert(mhs);
            //Untuk Mengubah Data.....
            mhsInter.update(mhs);
            //untuk Menghapus Data.....
            mhsInter.delete(mhs);

        } catch (Exception e) {
            System.out.println("Error : " + e);
        }
    }
}
  • Sekarang waktunya menjalankan program…..Tw kn? jika error, tambahkan lagi kadar SEMANGATmu teman..🙂🙂 . dan apabila berhasil, maka dengan otomatis tabel beserta datanya akan dibuat di database MySQL tdi..kok bisa? karena menggunakan metode Object Relational Mapping..bngung??  silahkan pelajari lagi konsepnya….Mudah”-an membantu ya teman…..🙂

Hasil Eksekusi Table Mahasiswa pada MySQL

Data mahasiswa yang terdapat pada table Mahasiswa