Melanjutkan artikel Tutorial CRUD menggunakanFRAMEWORK ormlite dengan java di NETBEANS PART 2,Selanjutnya buat package
dengan nama siswa dengan cara klik
kanan pada Source Package->pilih New->pilih Java Package->masukkan
nama package yaitu siswa klik
finish.
Selanjutnya klik 2x pada form siswaForm untuk mendesign tampilan form siswaform yang kita buat dengan designnya seperti gambar dibawah:
Komponen yang di gunakan:
Jika sudah jalankan project dan lihat hasilnya.......
Kemudian buat Class Siswa pada package siswa dengan cara klik kanan pada package
database->pilih New->pilih Java Class->masukkan nama Classnya yaitu Siswa klik finish.
Buat Class SiswaDAOImp
dengan cara mengikuti langkah seperti pembuatan Class diatas dengan memberi
nama Class SiswaDAOImp.
Setelah pembuatan Class Siswa dan SiswaDAOImp selanjutnya
kita membuat Form dengan nama SiswaForm
pada package siswa dengan cara klik
kanan pada package siswa->pilih new->JFrame Form->masukkan nama
formnya dengan SiswaForm…maka isi
dari package siswa ada 3 yaitu Class Siswa,Class SiswaDAOImp dan Form SiswaFrom
seperti gambar dibawah:
Langkah selanjutnya klik 2x Class Siswa dan
masukkan coding yang ada dibawah ini:
package siswa; import com.j256.ormlite.field.DatabaseField; import com.j256.ormlite.table.DatabaseTable; /** * * @author ketikanMD */ //tablename harus sama dengan nama tabel yang didatabase @DatabaseTable(tableName = "tb_siswa") public class Siswa { @DatabaseField(generatedId = true) private int id; @DatabaseField private String nama; @DatabaseField private String kelas; @DatabaseField private String 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 getKelas() { return kelas; } public void setKelas(String kelas) { this.kelas = kelas; } public String getAlamat() { return alamat; } public void setAlamat(String alamat) { this.alamat = alamat; } }
Masukkan Coding dibawah kedalam Class
SiswaDAOImp:
package siswa; import com.j256.ormlite.dao.Dao; import com.j256.ormlite.dao.DaoManager; import database.DAO; import database.Koneksi; import java.sql.SQLException; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JOptionPane; import javax.swing.table.DefaultTableModel; /** * * @author ketikanMD */ public class SiswaDAOImp implements DAO { Dao<Siswa, Integer> dao; public SiswaDAOImp() { try { dao = DaoManager.createDao(Koneksi.cs(), Siswa.class); } catch (SQLException ex) { Logger.getLogger(SiswaDAOImp.class.getName()).log(Level.SEVERE, null, ex); } } @Override public void insert(Object o) { try { dao.create((Siswa) o); JOptionPane.showMessageDialog(null, "Simpan data berhasil !"); } catch (SQLException ex) { Logger.getLogger(SiswaDAOImp.class.getName()).log(Level.SEVERE, null, ex); } } @Override public void update(Object o) { try { dao.update((Siswa) o); JOptionPane.showMessageDialog(null, "Update data berhasil !"); } catch (SQLException ex) { Logger.getLogger(SiswaDAOImp.class.getName()).log(Level.SEVERE, null, ex); } } @Override public void delete(int id) { try { dao.deleteById(Integer.valueOf(id)); JOptionPane.showMessageDialog(null, "Hapus data berhasil !"); } catch (SQLException ex) { Logger.getLogger(SiswaDAOImp.class.getName()).log(Level.SEVERE, null, ex); } } @Override public DefaultTableModel selectAll() { DefaultTableModel dtm; String[] title = {"ID", "Nama", "Kelas","Alamat"}; dtm = new DefaultTableModel(null, title); try { List<Siswa> siswa = dao.queryForAll(); for (Siswa b : siswa) { Object[] o = new Object[4]; o[0] = b.getId(); o[1] = b.getNama(); o[2] = b.getKelas(); o[3] = b.getAlamat(); dtm.addRow(o); } } catch (SQLException ex) { Logger.getLogger(SiswaDAOImp.class.getName()).log(Level.SEVERE, null, ex); } //kembalikan hasil dtm return dtm; } @Override public DefaultTableModel search(String key) { DefaultTableModel dtm; String[] title = {"ID", "Nama", "Kelas","Alamat"}; dtm = new DefaultTableModel(null, title); try { List<Siswa> siswa = dao.queryBuilder().where(). like("nama", "%" + key + "%").query(); for (Siswa b : siswa) { Object[] o = new Object[4]; o[0] = b.getId(); o[1] = b.getNama(); o[2] = b.getKelas(); o[3] = b.getAlamat(); dtm.addRow(o); } } catch (SQLException ex) { Logger.getLogger(SiswaDAOImp.class.getName()).log(Level.SEVERE, null, ex); JOptionPane.showMessageDialog(null, ex); } //kembalikan hasil dtm return dtm; } }
Selanjutnya klik 2x pada form siswaForm untuk mendesign tampilan form siswaform yang kita buat dengan designnya seperti gambar dibawah:
Komponen yang di gunakan:
- 4 Label dengan text(Nama,Kelas,Alamat,Cari berdasarkan nama)
- 4 Text Field
- 4 Button (Simpan,Hapus,Reset,Update)
- 1 Table
Note:
1.mengganti namenya dengan cara klik kanan pada textfield yang ingin dirubah->pilih change variable->masukkan nama fieldnya
1.mengganti namenya dengan cara klik kanan pada textfield yang ingin dirubah->pilih change variable->masukkan nama fieldnya
2.hapus text yang ada di
textfield dengan cara klik kanan pada
textfield yang ingin dirubah->pilih EditText->hapus
textnya kemudian tekan enter
Selanjutnya klik 2x pada form siswaForm dan pilih tab Source dan masukkan coding seperti
dibawah ini:
Note:jangan asal copy
paste
package siswa; import database.DAO; import javax.swing.JOptionPane; /** * * @author KetikanMD */ public class SiswaForm extends javax.swing.JFrame { DAO dao = new SiswaDAOImp(); int TAG = 0; int ID; public SiswaForm() { initComponents(); view(); } public void view() { tabelsiswa.setModel(dao.selectAll()); } public void search() { if (tfcari.getText().isEmpty()) { view(); } else { tabelsiswa.setModel(dao.search(tfcari.getText())); } } boolean validasi() { return !tfalamat.getText().isEmpty() && !tfnama.getText().isEmpty() && !tfkelas.getText().isEmpty(); } public void save() { if (validasi()) { Siswa b = new Siswa(); b.setNama(tfnama.getText()); b.setKelas(tfkelas.getText()); b.setAlamat(tfalamat.getText()); if (TAG == 0) { //insert dao.insert(b); } else { //update b.setId(ID); dao.update(b); } view(); reset(); } else { JOptionPane.showMessageDialog(rootPane, "Data Belum Lengkap"); } } public void delete() { int record = tabelsiswa.getRowCount(); //jika ada data yang dipilih if (record > 0) { //validasi jumlah data yang dipilih int selected = tabelsiswa.getSelectedRowCount(); //jika ada data yang diplih if (selected > 0) { //konfirmasi hapus int confirm = JOptionPane.showConfirmDialog(rootPane, "yakin untuk dihapus?", "Confirm", JOptionPane.YES_NO_OPTION); if (confirm == JOptionPane.YES_OPTION) { int row = tabelsiswa.getSelectedRow(); ID = Integer.valueOf(tabelsiswa.getValueAt(row, 0).toString()); dao.delete(Integer.valueOf(ID)); view(); } } else { JOptionPane.showMessageDialog(rootPane, " Tidak ada data yg dipilih !"); } } else { JOptionPane.showMessageDialog(rootPane, "data tidak ada"); } } public void getRecord() { int record = tabelsiswa.getRowCount(); //jika record ada if (record > 0) { //validasi jumlah data yang dipilih int selected = tabelsiswa.getSelectedRowCount(); if (selected > 0) { TAG = 1; int row = tabelsiswa.getSelectedRow(); ID = Integer.valueOf(tabelsiswa.getValueAt(row, 0).toString()); tfnama.setText(tabelsiswa.getValueAt(row, 1).toString()); tfkelas.setText(tabelsiswa.getValueAt(row, 2).toString()); tfalamat.setText(tabelsiswa.getValueAt(row, 3).toString()); } else { JOptionPane.showMessageDialog(rootPane, "Tidak ada data yg dipilih !"); } } else { JOptionPane.showMessageDialog(rootPane, "Data tidak ada"); } } public void reset() { TAG = 0; tfnama.setText(""); tfkelas.setText(""); tfalamat.setText(""); } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked")
Selanjutnya kembali kedesign SiswaForm dengan cara klik tab
Design,klik 2x pada tambol save dan
ketikkan save(); seperti gambar
dibawah:
Selanjutnya kembali kedesign SiswaForm dengan cara klik tab
Design,klik 2x pada tambol Hapus dan
ketikkan delete(); seperti gambar
dibawah:
Selanjutnya kembali kedesign SiswaForm dengan cara klik tab
Design,klik 2x pada tambol Reset dan
ketikkan reset(); seperti gambar
dibawah:
Selanjutnya kembali kedesign SiswaForm dengan cara klik tab
Design,klik 2x pada tambol Update dan
ketikkan getRecord(); seperti gambar
dibawah:
Selanjutnya kembali kedesign SiswaForm dengan cara klik tab
Design,klik kanan pada textfield cari-pilih
Events->Key->KeyTyped dan
ketikkan search(); seperti gambar
dibawah:
Jika sudah jalankan project dan lihat hasilnya.......
Sekian Tutorial CRUD menggunakan FRAMEWORK
ormlite dengan java di NETBEANS semoga dapat bermanfaat bagi teman teman terutama saya pribadi
Untuk download Source Codenya silahkan klik
disini..terima kasih
Demo Aplikasi
0 komentar:
Post a Comment
Informasi:
Form komentar ini menggunakan moderasi, setiap komentar yang masuk akan melalui proses pemeriksaan sebelum ditampilkan dalam kolom komentar.
Memasang link dan konten yang mengandung pornografi di komentar tidak akan di tampilkan. Hanya komentar yang membangun dan sesuai topik artikel saja yang akan kami tampilkan.
Mohon maaf atas ketidaknyamanannya.