Rekomendasi : jika baru mengenal IDE Java Netbeans, buat file yang sesuai dengan saya
Hai semua, sekarang saya akan membuat tutorial CRUD dengan Java Netbeans dan MySQL. Karena sesuai dengan keyword masuk pada blog ini, saya akan memberikan tutorial langsung daripada tersesat di blog :)
Buatlah sebuah project baru dengan nama sesuai dengan selera anda pada IDE Netbeans. Lalu buatlah sebuah form terserah mau namanya apa juga.
Klik Next >
Klik Finish
Saya membuat project dengan nama Tes Database dan Form FormKoneksi
Lalu klik 2x pada FormKoneksi buatlah interface form nya seperti ini :
Drag Drop JLabel,JTextField,JTable dan JButton. Ubah Nama Variable Control dengan mengklik kanan pada control dan pilih Change Variable
Buatlah sebuah database terserah mau namanya apa dan bikin tabel anggota, berikut struktur tabelnya :
id int(10)
nama varchar(30)
alamat varchar(40)
tlp varchar(16)
atau kalau tidak mau susah payah, bisa diunduh pada paket download nanti :)
Berikut langkah yang sudah saya susun :
1. Buat Koneksi Database
Add JAR Library MySQL
Klik Add Library
Buka form dengan mengklik 2x pada FormKoneksi yang telah anda buat tadi, lalu klik tab Source.
Lalu ketik kode ini tepat di bawah nama package
import java.sql.Connection;Ini berfungsi agar paket-paket yang tersedia untuk Netbeans bekerja dengan baik
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
Lalu di bawah class FormKoneksi sisipkan kode :
private static Connection koneksi; //Koneksi
private DefaultTableModel model; //Model Tabel
Pada public FormKoneksi sisipkan kode berikut
//buat model tabel / header tabelBuat sebuah void / function untuk membuat sebuah koneksi database, kenapa dibuat pakai function? untuk menimalkan penggunaan kode yang banyak, jadi tinggal panggil function aja nanti
model=new DefaultTableModel();
this.jTable1.setModel(model);
model.addColumn("ID");
model.addColumn("Nama");
model.addColumn("Alamat");
model.addColumn("Telepon");
private static Connection buka_koneksi() {
if (koneksi==null) {
try {
String url="jdbc:mysql://localhost:3306/belajar"; //nama database belajar
String user="root"; //user mysql
String password=""; //password mysql
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
koneksi=DriverManager.getConnection(url,user,password);
}catch (SQLException t) {
System.out.println("Error membuat koneksi");
}
}
return koneksi;
}
2. Proses Klik Button
Buka mode design dan klik kanan pada tombol Add , pilih actionnya
Maka anda langsung melihat mode source pada aksi Event klik Button Add
Buat kode berikut :
Connection c=buka_koneksi(); //panggil function koneksi
if("Add".equals(this.cmbAdd.getText())) //Jika Button Add teks nya Add
{
this.cmbAdd.setText("Save"); //Buat Teks Button Add yaitu Save
this.cmbEdit.setText("Cancel");
this.cmbDelete.enable(false);
this.cmbRefresh.enable(false);
this.lblKode.setText("0"); //Kosongkan Nilai LabelKode
this.TxtNama.setText("");
this.TxtAlamat.setText("");
this.TxtTelepon.setText("");
}else if("Save".equals(this.cmbAdd.getText()))
{
//bikin sql query tambah data
String sqlkode="Insert into anggota (`nama`,`alamat`,`tlp`) "
+ "values ('"+this.TxtNama.getText()+"',"
+ "'"+this.TxtAlamat.getText()+"',"
+ "'"+this.TxtTelepon.getText()+"')";
try { //jalankan query tersebut
PreparedStatement p2=(PreparedStatement) c.prepareStatement(sqlkode);
p2.executeUpdate();
p2.close();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(this, "Terjadi kesalahan "+ex.getMessage());
}
this.cmbAdd.setText("Add");
this.cmbEdit.setText("Edit");
this.cmbDelete.enable(true);
this.cmbRefresh.enable(true);
}else if("Update".equals(this.cmbAdd.getText()))
{//bikin query update data
String sqlkode="Update anggota SET `nama`='"+this.TxtNama.getText()+"',"
+ "`alamat`='"+this.TxtAlamat.getText()+"',"
+ "`tlp`='"+this.TxtTelepon.getText()+"' "
+ "Where ID='"+this.lblKode.getText()+"'";
try {
PreparedStatement p2=(PreparedStatement) c.prepareStatement(sqlkode);
p2.executeUpdate();
p2.close();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(this, "Terjadi kesalahan "+ex.getMessage());
}
this.cmbAdd.setText("Add");
this.cmbEdit.setText("Edit");
this.cmbDelete.enable(true);
this.cmbRefresh.enable(true);
}
Lalu action pada Button Edit
if("Edit".equals(this.cmbEdit.getText()))Action klik Button Delete
{
this.cmbAdd.setText("Update");
this.cmbEdit.setText("Cancel");
this.cmbDelete.enable(false);
this.cmbRefresh.enable(false);
}else if("Cancel".equals(this.cmbEdit.getText()))
{
this.cmbAdd.setText("Add");
this.cmbEdit.setText("Edit");
this.cmbDelete.enable(true);
this.cmbRefresh.enable(true);
}
Connection c=buka_koneksi();Action Button Refresh
String sqlkode="Delete from anggota "
+ "Where ID='"+this.lblKode.getText()+"'";
try {
PreparedStatement p2=(PreparedStatement) c.prepareStatement(sqlkode);
p2.executeUpdate();
p2.close();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(this, "Terjadi kesalahan "+ex.getMessage());
}
ambil_data_tabel();
3. Function Panggil Database dan Function Penggunaan JTabel
Buat function untuk memasukkan data ke JTabel
private void ambil_data_tabel()Buat function saat JTabel di klik
{
model.getDataVector().removeAllElements();
model.fireTableDataChanged();
try {
Connection c=buka_koneksi();
Statement s= c.createStatement();
String sql="Select * from anggota";
ResultSet r=s.executeQuery(sql);
while (r.next()) {
Object[] o=new Object[4];
o[0]=r.getString("id");
o[1]=r.getString("nama");
o[2]=r.getString("alamat");
o[3]=r.getString("tlp");
model.addRow(o);
}
r.close();
s.close();
ambil_tabel_klik();
}catch(SQLException e) {
System.out.println("Terjadi kesalahan "+e.getMessage());
}
}
private void ambil_tabel_klik()
{
int i=this.jTable1.getSelectedRow();
if(i==-1)
{
return;
}
String kode=(String) model.getValueAt(i, 0);
this.lblKode.setText(kode);
String nama=(String) model.getValueAt(i, 0);
this.TxtNama.setText(nama);
String alamat=(String) model.getValueAt(i, 1);
this.TxtAlamat.setText(alamat);
String tlp=(String) model.getValueAt(i, 2);
this.TxtTelepon.setText(tlp);
}
Lalu buat action JTabel saat di klik
Sisipkan code berikut pada action MouseClicked :
this.ambil_tabel_klik();
Segitu dulu deh :)
Oya, dalam salam dari David Beckham nih :)
Kalau ada yang kurang, kasih tau saya ya :)
0 Response to "Insert Update Delete Database Java Netbeans dan MySQL"
Posting Komentar