BELAJAR MODEL VIEW CONTROLLER
Balik lagi dengan masih mempelajaran tentang Netbean dan kali ini kita membahas bahasa java yang lebih menantang karena kita mengkoneksikan database MYSQL dengan project netbean kita
Sedikit penjelasan tentang Model View Controller Konsep MVC (Model-View-Controller) merupakan salah satu penerapan compound design pattern dalam pemrograman berorientasi objek, dimana konsep ini membedakan kelas-kelas yang merepresentasikan data (Model) dengan kelas-kelas yang mengatur tampilan program (View) dan kelas-kelas pengaturan data (Controller). selengkapnya bisa anda kesini Model View Controller .Yoooooottt kita langsung aja ke program yaa....
1. Create Database
mulai dengan membuat database dengan software Xampp , jika anda belom punya softwarenya bisa download DIMARI WEB NYA , jika sobat sudah menginstal Xampp, buka file xampp anda dan aktifkan apache dan mysql nya pastikan running yaa, dan sobat buat seperti berikut:
- Nama Database : tm5
- Nama Table : mahasiswa
2. Create Neatbean Project
Jika sudah berhasil membuat database langsung kita buka Neatbean nya
- New Project
- kemudian klik kanan, dibagian source package pilih Other - persistence unit
dan sobat pilih di menu Database Connection - New Database Connection - dan pilih Driver ( MYQL - CONNECTOR / J DRIVER) dan next , dan dihalaman ini jangan lupa ubah form Database dengan nama database yang kita buat tadi (tm5) dan next and finish.
- kemudian, klik kanan dibagian source package lagi untuk membuat model dari Table Mahasiswa yang ada di database yg kita buat.
- Pilih Other - Entity Classes from Database
- add table mahasiswa nya
- ganti packagenya dengan nama model
- dan next , finish
- Kemudian kita buat lagi package controller dengan klik kanan dibagian source package
- pilih other - JPA Controller Classes from Entity Classes
- ganti nama packagenya dengan "controller", and finish
- Jika berhasil kita buat package "view" dengan cara klik kanan dibagian source package - new - Jframe form dan ikutin gambar berikut
- Dan dibagian package viewer ( class EntryData) desain seperti berikut :
- NOTE : - untuk nama DATA MAHASISWA, NRP, NAMA, ANGKATAN menggunakan ( tool Label)
- - untuk label yang kosong tersebut mengguakan TextField
- - Save, Update, Delete ( gunakan Button )
- dan untuk ID , NRP, NAMA, ANGKATAN diatas menggunakan tools TABLE
- cara mengedit header / judul table , arahkan cursor kebagian table dan klik kanan - table content dan disitu ada menu coloum.
- PENTING!!! - agar tidak error saya sudah mengset variable - variable ( cara merubahnya tinggal klik kanan dibagian textfield atau button yang ingin diubah variablenya )
- Form NRP = txtNrp , Form Nama = txtNama , Form Angkatan = txtAngakatan
- Button Save = btnSave , Button Update = btnUpdate , Button Delete = btnDelete
- dan variable Table ubah dengan = table
- Dan jangan lupa add Library MYSQL agar running tidak ada kendala error karna tidak ada library mysqlnya
Dan sekarang waktunya untuk Mengetik Code Button agar bisa berfungsi dengan baik
CODE BUTTON SAVE
EntityManagerFactory objFactory = Persistence.createEntityManagerFactory("Tm5MhsPU");
MahasiswaJpaController jpa = new MahasiswaJpaController(objFactory);
private void btnSaveActionPerformed(java.awt.event.ActionEvent evt) {
Mahasiswa record = new Mahasiswa();
String nrp = txtNrp.getText();
String nama = txtNama.getText();
String angkatan = txtAngkatan.getText();
record.setNrp(nrp);
record.setNama(nama);
record.setAngkatan(angkatan);
try {
jpa.create(record);
clearForm();
updateTable();
} catch (Exception ex) {
Logger.getLogger(EntryData.class.getName()).log(Level.SEVERE, null, ex);
}
}
Code Button Update
private void clearForm() {
txtNrp.setText("");
txtNama.setText("");
txtAngkatan.setText("");
}
private void btnUpdateActionPerformed(java.awt.event.ActionEvent evt) {
int rowNum = table.getSelectedRow();
if(rowNum == -1) {
JOptionPane.showMessageDialog(null, "Pilih 1 data");
} else {
String nrp = table.getValueAt(rowNum, 1).toString();
String nama = table.getValueAt(rowNum, 2).toString();
String angkatan = table.getValueAt(rowNum, 3).toString();
Mahasiswa record = new Mahasiswa();
record.setNrp(nrp);
record.setNama(nama);
record.setAngkatan(angkatan);
try {
jpa.edit(record);
} catch (Exception ex) {
Logger.getLogger(EntryData.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
Code Button Delete
private void btnDeleteActionPerformed(java.awt.event.ActionEvent evt) {
int rowNum = table.getSelectedRow();
if(rowNum == -1) {
JOptionPane.showMessageDialog(null, "Pilih 1 data");
} else {
String nrp = table.getValueAt(rowNum, 1).toString();
try {
jpa.destroy(nrp);
updateTable();
} catch (Exception ex) {
Logger.getLogger(EntryData.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
JIka Program di running akan seperti berikut
| INPUTAN BARU |
| HASIL INPUTAN TERSIMPAN DI DATABASE DAN TAMPIL |
| DATA YANG TERHAPUS |
Sekian Pembelajaran kali ini semoga Bermanfaat untuk kita semua ..........
sampai Jumpa Kembali............
"Inovasi
Membedakan
Antara Pemimpin dan Pengikut”
- Steve Jobs
Komentar
Posting Komentar