Journey to Hibernate (Part 2)

Ok.. mumpung ada waktu 30 menitan, gw lanjutin deh tulisan gw mengenai Hibernate🙂

Semoga tulisan saya di part 1 dapat dimengerti🙂 setidaknya itu latar belakang menurut gw mengapa ORM itu ada. Jadi sekali lagi Relational Database cukup bertolak belakang dengan desain Object Oriented😦 dalam artian implementasinya dalam aplikasi. Biar lebih dimengerti gw mo bandingkan bagaimana implementasi dari desain class pada part 1 dengan menggunakan plain JDBC dan kemudian ditulisan berikutnya diimplementasikan dengan Hibernate. Berdasarkan desain class di part 1 kurang lebih saya akan memiliki 4 class yaitu Matakuliah dan Mahasiswa dan ada 2 class tambahan sebagai class Utility yaitu MahasiswaManager dan MatakuliahManager. (mungkin ini bukan implementasi yang terbaik menggunakan JDBC hehehe.. bisa juga pake DAO pattern). Berikut potongan-potongan kodenya:


class Mahasiswa{
String noInduk;
String nama;
List listMatakuliah = new ArrayList();

public Mahasiswa(){}

//seter and geter method here...
}

class Matakuliah{
String kode;
String nama;
int sks;

public Matakuliah(){}

//seter and geter method here...
}

Biar gak panjang ngetiknya seter dan geter methodnya dibuat sendiri ya🙂
Selanjutnya kita buatkan 2 class Utility yaitu MahasiswaManager dan MatakuliahManager. 2 class ini akan memiliki method-method untuk menyimpan data Matakuliah dan Mahasiswa ke database. Barikut potongan kodenya:


class MatakuliahManager{
public int insert(Matakuliah mtk){
int result = 0;
Statement st = null;
try{
st = coonection.createStatement();
result = st.executeUpdate("Insert into tmatakuliah(kode,nama,sks) " +
"VALUES('"+mkt.getKode()+"','"+mtk.getNama()+"',"+mtk.getSks()+")");
}catch(Exception ex){
}finally{
if(st!=null)
st.close();
}
return result;
}

public Matakuliah load(String kode){
Matakuliah mtk = null;
ResultSet rs = null;
Statement st = null;
try{
st = coonection.createStatement();
rs = st.executeQuery("SELECT kode,nama,sks FROM tmatakuliah WHERE
kode='"+kode+"'");
if(rs.next()){
mtk = new Matakuliah();
mtk.setKode(rs.getString(1));
mtk.setNama(rs.getString(2));
mtk.setSks(rs.getInt(3));
}
}catch(Exception ex){
}finally{
if(st!=null)
st.close();
}
return mtk;
}
}

Aduh capek juga ngetiknya… tapi ok deh.. gw tetap lanjut🙂 Berikut class utility untuk Mahasiswa

class MahasiswaManager{
public void insert(Mahasiswa mhs){
Statement st = null;
try{
st = coonection.createStatement();
for(int x=0;x

6 Responses to Journey to Hibernate (Part 2)

  1. Guest says:

    Pak, tolong kasi referensi J2EE untuk newbie, kalo bsa yang berbahasa Indonesia. Thx.

  2. shinobi says:

    pak, tolong kasi referensi J2EE bagi newbie, khususnya yang menggunakan bahasa indonesia, thx

  3. hendrosteven says:

    mmmm.. kalo yang bahasa Indonesia memang agak susah dapatnya apalagi yang bagus. Tapi coba di http://jeni.jardiknas.org itu proyek pemerintah untuk dukung Java di Indonesia. Di situ ada materi-materi cukup komplit.

  4. budi says:

    halo, kmrn aku coba buat aplikasi nya ternyata asik bgt, tetapi tolong dong form cari terus buat report dan cetak nya jg di lengkapin, kan sayang tanggung bgt gt.hehehehehe di tunggu d tutor baru secepatnya. soalnya menarik banget.hihihih

  5. hendrosteven says:

    Form cari? Cetak? mungkin bukan ditopik Hibernate ini kali ya.. ntar kalo ada waktu aku nulis lagi.. gila akhir-akhir ini banyak kerjaan😦

  6. lupusinside (princefafa) says:

    Hehehe ternyata ada lanjutannya😀
    kira kira ada ga referensi HIBERNATE versi indonesia yang luengkap komplit gitu (kaya jamu). Klo ada bolehkah saya minta

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

%d bloggers like this: