
Melanjutkan pembahasan artikel Apache Maven Hibernate PostgreSQL. Kita akan memodifikasi artikel CRUD Console dengan Java dimana masih menggunakan preparestatement akan kita rubah ke hibernate.
Pembahasan kali ini kita beri judul
CRUD Console Apache Maven Hibernate PostgreSQL
Mari kita ikuti langkah-langkah berikut untuk memulai CRUD Console Apache Maven Hibernate PostgreSQL:
1). Kita buka project “Belajar Apache Maven Hibernate PostgreSQL” yang sudah kita pelajari pada artikel Apache Maven Hibernate PostgreSQL
2). Tambahkan class “MahasiswaDao” simpan di package “com.wijaksana.belajar.dao”, class ini berfungsi untuk membuat, mengupdate, mendelete, dan membaca data mahasiswa. berikut penampakannya:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
public class MahasiswaDao { private SessionFactory sessionFactory; public MahasiswaDao(SessionFactory sessionFactory) { this.sessionFactory = sessionFactory; } public void create(Mahasiswa mahasiswa) { Session session = sessionFactory.openSession(); Transaction trx = session.beginTransaction(); try { session.save(mahasiswa); System.out.println("CREATE >> " + mahasiswa.getKode() + " : " + mahasiswa.getNama()); trx.commit(); } catch (Exception e) { try { trx.rollback(); } catch (Exception e1) { e1.printStackTrace(); } e.printStackTrace(); } session.close(); }; @SuppressWarnings("unchecked") public void read() { Session session = sessionFactory.openSession(); Query query = session.createQuery("FROM Mahasiswa"); List<Mahasiswa> mahasiswas = query.list(); for (Mahasiswa mahasiswa : mahasiswas) { System.out.println(mahasiswa.getKode() + " : " + mahasiswa.getNama() + " : " + mahasiswa.getAlamat() + " : " + mahasiswa.getNohp() + " : " + mahasiswa.getUmur()); } session.close(); }; public void update(Mahasiswa mahasiswa) { Session session = sessionFactory.openSession(); Transaction trx = session.beginTransaction(); try { session.update(mahasiswa); System.out.println("UPDATE >> " + mahasiswa.getKode() + " : " + mahasiswa.getNama()); trx.commit(); } catch (Exception e) { try { trx.rollback(); } catch (Exception e1) { e1.printStackTrace(); } e.printStackTrace(); } session.close(); }; public void delete(Mahasiswa mahasiswa) { Session session = sessionFactory.openSession(); Transaction trx = session.beginTransaction(); try { session.delete(mahasiswa); System.out.println("DELETE >> " + mahasiswa.getKode() + " : " + mahasiswa.getNama()); trx.commit(); } catch (Exception e) { try { trx.rollback(); } catch (Exception e1) { e1.printStackTrace(); } e.printStackTrace(); } session.close(); }; } |
3). Sekarang kita buat class untuk menangani interaksi dengan user. class ini beri nama “MavenHibernateCRUDConsole” jangan lupa dicentang void main-nya. berikut penampakan codingnya:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
public static void main(String[] args) { boolean isExit = false; Configuration cfg = new Configuration(); cfg.configure("hibernate.cfg.xml"); ServiceRegistryBuilder srb = new ServiceRegistryBuilder(); srb.applySettings(cfg.getProperties()); ServiceRegistry sr = srb.buildServiceRegistry(); SessionFactory sessionFactory = cfg.buildSessionFactory(sr); MahasiswaDao mhsDao = new MahasiswaDao(sessionFactory); Scanner scanner = new Scanner(System.in); do { System.out.println("========= CRUD Console Apache Maven Hibernate PostgreSQL [Mahasiswa] ========="); System.out.println("Menu : "); System.out.println("1. View Data Mahasiswa"); System.out.println("2. Insert Data Mahasiswa"); System.out.println("3. Update Data Mahasiswa"); System.out.println("4. Delete Data Mahasiswa"); System.out.println("5. Keluar"); System.out.print("Pilih salah satu menu : "); int menuSelect = scanner.nextInt(); if (menuSelect == 5) { isExit = true; } else { if (menuSelect == 1) { System.out.println("VIEW DATA MAHASISWA "); mhsDao.read(); } else if (menuSelect == 2) { System.out.println("INSERT DATA MAHASISWA "); Mahasiswa mhs = new Mahasiswa(); System.out.print("Kode : "); mhs.setKode(scanner.next()); System.out.print("Nama : "); mhs.setNama(scanner.next()); System.out.print("Alamat : "); mhs.setAlamat(scanner.next()); System.out.print("No HP : "); mhs.setNohp(scanner.next()); System.out.print("Umur : "); mhs.setUmur(scanner.nextInt()); mhsDao.create(mhs); } else if (menuSelect == 3) { System.out.println("UPDATE DATA MAHASISWA "); Mahasiswa mhs = new Mahasiswa(); System.out.print("Kode : "); mhs.setKode(scanner.next()); System.out.print("Nama : "); mhs.setNama(scanner.next()); System.out.print("Alamat : "); mhs.setAlamat(scanner.next()); System.out.print("No HP : "); mhs.setNohp(scanner.next()); System.out.print("Umur : "); mhs.setUmur(scanner.nextInt()); mhsDao.update(mhs); } else if (menuSelect == 4) { System.out.println("DELETE DATA MAHASISWA "); System.out.print("Kode : "); Mahasiswa mhs = new Mahasiswa(); mhs.setKode(scanner.next()); mhsDao.delete(mhs); } System.out.print("Ketik 5 untuk keluar, ketik 0 untuk ke menu utama : "); menuSelect = scanner.nextInt(); if (menuSelect == 5) isExit = true; } } while (!isExit); scanner.close(); } |
4). Run & Output
========= CRUD Console Apache Maven Hibernate PostgreSQL [Mahasiswa] =========
Menu :
1. View Data Mahasiswa
2. Insert Data Mahasiswa
3. Update Data Mahasiswa
4. Delete Data Mahasiswa
5. Keluar
Pilih salah satu menu : 1
VIEW DATA MAHASISWA
1 : DKI : Pilkada : 87098 : 1
2 : Aman : Jakarta : 080980 : 1
3 : Damai : Jakarta : 88799 : 1
Ketik 5 untuk keluar, ketik 0 untuk ke menu utama : 0
========= CRUD Console Apache Maven Hibernate PostgreSQL [Mahasiswa] =========
Menu :
1. View Data Mahasiswa
2. Insert Data Mahasiswa
3. Update Data Mahasiswa
4. Delete Data Mahasiswa
5. Keluar
Pilih salah satu menu : 2
INSERT DATA MAHASISWA
Kode : 4
Nama : 4
Alamat : 4
No HP : 4
Umur : 4
CREATE >> 4 : 4
Ketik 5 untuk keluar, ketik 0 untuk ke menu utama : 0
========= CRUD Console Apache Maven Hibernate PostgreSQL [Mahasiswa] =========
Menu :
1. View Data Mahasiswa
2. Insert Data Mahasiswa
3. Update Data Mahasiswa
4. Delete Data Mahasiswa
5. Keluar
Pilih salah satu menu : 1
VIEW DATA MAHASISWA
4 : 4 : 4 : 4 : 4
1 : DKI : Pilkada : 87098 : 1
2 : Aman : Jakarta : 080980 : 1
3 : Damai : Jakarta : 88799 : 1
Ketik 5 untuk keluar, ketik 0 untuk ke menu utama : 0
========= CRUD Console Apache Maven Hibernate PostgreSQL [Mahasiswa] =========
Menu :
1. View Data Mahasiswa
2. Insert Data Mahasiswa
3. Update Data Mahasiswa
4. Delete Data Mahasiswa
5. Keluar
Pilih salah satu menu : 3
UPDATE DATA MAHASISWA
Kode : 4
Nama : Yulianto
Alamat : Solo
No HP : 085562
Umur : 23
UPDATE >> 4 : Yulianto
Ketik 5 untuk keluar, ketik 0 untuk ke menu utama : 0
========= CRUD Console Apache Maven Hibernate PostgreSQL [Mahasiswa] =========
Menu :
1. View Data Mahasiswa
2. Insert Data Mahasiswa
3. Update Data Mahasiswa
4. Delete Data Mahasiswa
5. Keluar
Pilih salah satu menu : 1
VIEW DATA MAHASISWA
4 : Yulianto : Solo : 085562 : 23
1 : DKI : Pilkada : 87098 : 1
2 : Aman : Jakarta : 080980 : 1
3 : Damai : Jakarta : 88799 : 1
Ketik 5 untuk keluar, ketik 0 untuk ke menu utama : 0
========= CRUD Console Apache Maven Hibernate PostgreSQL [Mahasiswa] =========
Menu :
1. View Data Mahasiswa
2. Insert Data Mahasiswa
3. Update Data Mahasiswa
4. Delete Data Mahasiswa
5. Keluar
Pilih salah satu menu : 4
DELETE DATA MAHASISWA
Kode : 4
DELETE >> 4 : null
Ketik 5 untuk keluar, ketik 0 untuk ke menu utama : 0
========= CRUD Console Apache Maven Hibernate PostgreSQL [Mahasiswa] =========
Menu :
1. View Data Mahasiswa
2. Insert Data Mahasiswa
3. Update Data Mahasiswa
4. Delete Data Mahasiswa
5. Keluar
Pilih salah satu menu : 1
VIEW DATA MAHASISWA
1 : DKI : Pilkada : 87098 : 1
2 : Aman : Jakarta : 080980 : 1
3 : Damai : Jakarta : 88799 : 1
Ketik 5 untuk keluar, ketik 0 untuk ke menu utama : 5