(JavaEE)Data Pasein Menggunakan Konsep JPA Hibernate Framework Part2

PENDIDIKAN MERUPAKAN INFESTASI MASA DEPAN

Salam super, ane lanjutkan postingan yang sebelumnya tertunda dengan adanya kegiatan di kampus, ane break postingan ini sudah 1 minggu, karena ane merasa ada hutang dengan blog ini jadi ane sempat – sempatkan untuk posting, banyak cerita yang harus ane sampaikan di blog ini.

tema ini sebenarnya sama dengan tema hibernate yang ane buat sebelumnya, karena menurut ane banyak dapat referensi untuk penggunaan JPA di berbagai framework, sehingga ane lanjutkan aja project itu, tapi sebelumnya ane sampaikan untuk belajar mengenai apa itu hibernate dan apa itu JPA, jangan lupa bahwa semua itu harus memahami sebuah konsep.

Capture

Create project dengan nama Hibernate dan JPA Rumah sakit

Create data base dengan nama hibernaterumahsakit

Create Hibernate Hibernate Configuration Wizard

nama : hibernate
Link Data base : dapat menggunakan server dari netbeans atau setting secara langsung
Capture

Create Mapping Hibernate

Nama : hibernate
Configurasion File : arahkan ke hibernate.cfg.xml
Capture

Create View JFrame dan gunakan komponen seperti di bawah ini

Capture

Create Class Person.java dan tuliskan code dibawah ini

digunakan untuk membuat sebuah entitas atau data yang akan digunakan.

 /*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package hibernate2.entitas;

/**
 *
 * @author aerdy
 */
public class Person {
     private int id;
    private String nama;
    private String penyakit;
    private String alamat;

    public Person() {
    }

    public String getAlamat() {
        return alamat;
    }

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

    public int getId() {
        return id;
    }

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

    public String getNama() {
        return nama;
    }

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

    public String getPenyakit() {
        return penyakit;
    }

    public void setPenyakit(String penyakit) {
        this.penyakit = penyakit;
    }
}

Craete class dengan nama HibernateUtil

digunakan untuk menghubungkan session yang ada pada hibernate yang kita buat, karena dengan adanya pembuatan hibernate semua itu tidak dapat di gunakan tanpa data yang sesuai.

 /*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package hibernate2.entitas;

import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;

/**
 *
 * @author aerdy
 */
public class HibernateUtil {
      private static final SessionFactory sessionFactory;
    private static final PersonDAO personDao;

    static {
        try {
            sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
            personDao = new PersonDAOImpl(sessionFactory);
        } catch (Throwable e) {
            System.err.println("Inisialisasi sessionFactory gagal "+e);
            throw new ExceptionInInitializerError(e);
        }
    }

    public static PersonDAO getPersonDao() {
        return personDao;
    }

    public static SessionFactory getSessionFactory() {
        return sessionFactory;
    }
}

Create Interface class dengan nama PersonDAO.java dan tuliskan scrip di bawah ini

digunakan untuk membuat deklarasi method dengan konsep interface class, agar memudahkan memanagamnet aplikasi yang kita buat. disini kita membuat aktifitas input,edit,hapus.

 /*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package hibernate2.entitas;

import java.util.List;
import org.hibernate.HibernateException;

/**
 *
 * @author aerdy
 */
public interface PersonDAO {
      public void insert(Person person) throws HibernateException;

    public void update(Person person) throws HibernateException;

    public void delete(Person person) throws HibernateException;

    List  SelectAll() throws HibernateException;

    List GetByName(String nama) throws HibernateException;
}

Create class dengan nama HibernateDAOImp

 /*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package hibernate2.entitas;

import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Restrictions;

/**
 *
 * @author aerdy
 */
public class PersonDAOImpl implements PersonDAO{
     Session session;
    SessionFactory factory;
    Criteria criteria;

    public PersonDAOImpl(SessionFactory factory) {
        this.factory = factory;
    }

    public void insert(Person person) throws HibernateException {
        session = factory.openSession();
        try {
            session.beginTransaction();
            session.save(person);
            session.getTransaction().commit();
            System.out.println("Sukses kang!!!");
        } catch (Exception e) {
            session.getTransaction().rollback();
            e.printStackTrace();
        } finally{
            session.close();
            factory.close();
        }
    }

    public void update(Person person) throws HibernateException {
        session = factory.openSession();
        try {
            session.beginTransaction();
            session.update(person);
            session.getTransaction().commit();
            System.out.println("Sukses kang!!");
        } catch (Exception e) {
            session.getTransaction().rollback();
            e.printStackTrace();
        } finally {
            session.close();
            factory.close();
        }
    }

    public void delete(Person person) throws HibernateException {
        session = factory.openSession();
        try {
            session.beginTransaction();
            session.delete(person);
            session.getTransaction().commit();
        } catch (Exception e) {
            session.getTransaction().rollback();
            e.printStackTrace();
        } finally {
            session.close();
            factory.close();
        }
    }

    public List SelectAll() throws HibernateException {
        session = factory.openSession();
        try {
            criteria = session.createCriteria(Person.class);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            
        }
        return criteria.list();
    }

    public List GetByName(String nama) throws HibernateException {
        session = factory.openSession();
        try {
            criteria = session.createCriteria(Person.class).add(Restrictions.like("nama", nama, MatchMode.ANYWHERE));
            System.out.println("Sukses kang!!");
        } catch (HibernateException e) {
            e.printStackTrace();
        }
        return criteria.list();
    }
}

Create class dengan nama PersonConntrol

digunakan untuk menghubungkan entitas yang digunakan dengan class implement yang kita buat, karena dengan adanya sebuah kontrol ini aplikasi di kontrol dalam class ini, konsep ini sering di sebut dengan MVC.

 /*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package hibernate2.entitas;

import java.util.List;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author aerdy
 */
public class PersonController {
   Person person = new Person();
   PersonDAO personDAO = HibernateUtil.getPersonDao();
   String header[] = {"Id", "Nama", "Penyakit", "Alamat"};

    public void insert(String nama, String penyakit, String alamat){
        person.setNama(nama);
        person.setPenyakit(penyakit);
        person.setAlamat(alamat);
        personDAO.insert(person);
    }

    public void update(String id, String nama, String penyakit, String alamat){
        person.setId(Integer.parseInt(id));
        person.setNama(nama);
        person.setPenyakit(penyakit);
        person.setAlamat(alamat);
        personDAO.update(person);
    }

    public void delete(String id, String nama, String penyakit, String alamat){
        person.setId(Integer.parseInt(id));
        person.setNama(nama);
        person.setPenyakit(penyakit);
        person.setAlamat(alamat);
        personDAO.delete(person);
    }

    public void SelectAll(JTable table){
        List list = personDAO.SelectAll();
        Object data[][] = new Object[list.size()][4];
        int i = 0;
        for(Person manusia : list){
            data[i][0] = manusia.getId();
            data[i][1] = manusia.getNama();
            data[i][2] = manusia.getPenyakit();
            data[i][3] = manusia.getAlamat();
            ++i;
        }
        table.setModel(new DefaultTableModel(data, header));
    }

    public void GetByName(String nama, JTable table){
        List list = personDAO.GetByName(nama);
        Object data[][] = new Object[list.size()][4];
        int i = 0;
        for(Person manusia : list){
            data[i][0] = manusia.getId();
            data[i][1] = manusia.getNama();
            data[i][2] = manusia.getPenyakit();
            data[i][3] = manusia.getAlamat();
            ++i;
        }
        table.setModel(new DefaultTableModel(data, header));
    }  
}

Save and Run Program

Advertisements

Published by

jarcode

hello I am jarcode

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