Object Relational Mapping

13
Object Relational Mapping Kiki Ahmadi linuxgembel.wordpress.com YM : gembel_linux [email protected]

description

Object Relational Mapping. Kiki Ahmadi linuxgembel.wordpress.com YM : gembel_linux [email protected]. ORM ?. Teknik memetakan database menggunakan object Jembatan antara OOP dengan RDBMS Poupuler di Java. Kenapa ORM ?. Menghindarkan programmer dari kode SQL - PowerPoint PPT Presentation

Transcript of Object Relational Mapping

Page 1: Object Relational Mapping

Object Relational Mapping

Kiki Ahmadilinuxgembel.wordpress.comYM : [email protected]

Page 2: Object Relational Mapping

ORM ? Teknik memetakan database

menggunakan object Jembatan antara OOP

dengan RDBMS Poupuler di Java

ORM

Mahasiswa

Database

Page 3: Object Relational Mapping

Kenapa ORM ? Menghindarkan programmer dari kode

SQL Memisahkan kode SQL dari logika aplikasi Mempermudah Maintenance Menghindari ketergantungan aplikasi

terhadap vendor database

Page 4: Object Relational Mapping

Non ORM

String host = "localhost"; String db = "kiki"; String user = "root"; String pass = ""; String driver = "com.mysql.jdbc.Driver"; String koneksi = "";

koneksi = "jdbc:mysql://" + host + ":3306/" + db + "?user=" + user +"&password=" + pass;

Class.forName(driver).newInstance(); Connection con = DriverManager.getConnection(koneksi); Statement stmt = con.createStatement(); String ReqUser = request.getParameter("username"); String ReqPass = request.getParameter("password"); String QUERY_INSERT = "INSERT INTO Mahasiswa VALUES (“ +ReqUser+ “,” +ReqPass+” )””

Page 5: Object Relational Mapping

ORM

Tidak ada kode SQL pada Source Code Tidak ada ketergantungan terhadap DB server Baris kode lebih sedikit

public void tambahMhs (){

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

}

Page 6: Object Relational Mapping

ORM pada JAVA

HIBERNATE

Oracle Toplink Essentials

EclipseLink

Open JPA

Apache IBATIS

Page 7: Object Relational Mapping

ORMMahasiswa.javaprivate int NRPprivate String Nama

public int getNRP ()

public void setNama (Strinng nama)

Database Mahasiswa

MahasiswaDAO.java

public void insertMahasiswa(Mahasiswa mhs)

public Mahasiswa getMahasiswa(int NRP)

public void deleteMahasiswa(Mahasiswa mhs)

public void updateMahasiswa(Mahasiswa mhs)

Cara Kerja ORM Database dipetakan

menggunakan POJO Proses CRUD

dilakukan menggunakan DAO

Page 8: Object Relational Mapping

POJO ? Plain Old Java Object

Mahasiswa

NRP intNama varcharPassword varchar

public class Mahasiswa {

private int NRP;private String Nama;private String password;

public String getNama() {return Nama;

}public int getNRP() {

return NRP;}public String getPassword() {

return password;}public void setNama(String nama) {

Nama = nama;}public void setNRP(int nrp) {

NRP = nrp;}public void setPassword(String password) {

this.password = password;}

Page 9: Object Relational Mapping

DAO ? Data Access Object

public class MahasiswaDAO {

public void tambahMhs (){

Mahasiswa ophex = new Mahasiswa();

ophex.setNRP(1);ophex.setNama("ophex");ophex.setPassword("mbuh");

HibernateUtil.getSessionFactory().getCurrentSession().save(ophex);

} }

Page 10: Object Relational Mapping

Hibernate Framework ORM paling populer di java Didevelop oleh JBoss Memetakan POJO dengan Tabel

Page 11: Object Relational Mapping

Hibernate Mapping

Mahasiswa.java

Mahasiswa.hbm.xmlTabel

Mahasiwa

hibernate.cfg.xml

Page 12: Object Relational Mapping

Apache Ibatis Framework ORM Mapping POJO ke QUERY Sehingga satu POJO bisa memetakan lebih

dari satu tabel

Page 13: Object Relational Mapping

Ibatis Mapping

User.java

User.xml

SqlMapConfig.xml