Tutorial CRUD menggunakan FRAMEWORK ormlite dengan java di NETBEANS PART 3 (Finish)

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.

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
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.