udah dulu deh gan curcolnya :D ... pada postingan kali ini ane mau ngasi contoh program Aplikasi CRUD (Cread, Read, Update, Delete) Java dan Koneksi Java - Mysql
sebelumnya ente harus buat dulu database untuk manipulasi datanya, kalo gak ada databasenya pa yang mau di manipulasi ??? hehehee...
create database if not exists `kantor`;kemudian isi dengan beberapa data
USE `kantor`;
CREATE TABLE `pegawai` (
`kodepegawai` int(3) NOT NULL,
`namapegawai` varchar(50) DEFAULT NULL,
`jeniskelamin` varchar(10) DEFAULT NULL,
PRIMARY KEY (`kodepegawai`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
insert into `pegawai`(`kodepegawai`,`namapegawai`,`jeniskelamin`) values (1,'Untung Slamet','Pria'),(2,'Yanti Puspita','Wanita'),(3,'Joko Siswanto','Pria');kalo udah sekarang ente harus menyediakan connector jdbc agar project java ente terhubung dengan database... Kalo ente pake netbeans versi 6 keatas (kalo gak salah) udah disediain Connector nya... sekarang ane kasi tau caranya import connectornya ke dalam project...
- Click kanan pada folder Libreries, kemudian Click add Library....
- Pilih Mysql JDBC Driver
- Kalo berhasil di folder Libreries akan ada file Mysql JDBC Driver - Mysql Connector
Komponen Form :
- Jtextfield Kode Pegawai
- Jtextfield Nama Pegawai
- JradioButton Pria
- JradioButton Wanita
- Buttongrup(untuk Jradiobutton pria dan wanita)
- Button Simpan
- Button Update
- Button Delete
- Button Cari
- Button Bersih
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
import javax.swing.table.TableModel;
Kemudian ente buat 2 Class... nanti ane jelasin kegunaan 2 Class ini... yang peting ente buat dulu 2 Class ini
Class yang pertama ente kasi nama L_Pegawai
public class L_Pegawai {Class yang ke 2 ente kasi nama TmodelPegawai
private String kodepagawai,namapegawai,jeniskelamin;
public void setKodePegawai(String kodepagawai){
this.kodepagawai = kodepagawai;
}
public String getKodePegawai(){
return this.kodepagawai;
}
public void setNamaPegawai(String namapegawai){
this.namapegawai = namapegawai;
}
public String getNamaPegawai(){
return this.namapegawai;
}
public void setJenisKelamin(String jeniskelamin){
this.jeniskelamin = jeniskelamin;
}
public String getJenisKelamin(){
return this.jeniskelamin;
}
}
import java.util.List;Fungsi dari 2 Class tersebut adalah sebagai object penampung data yang telah kita panggil dari database yang kita tampilkan pada Jtable... Coba nanti ente Analisa sendiri deh :D pokok nya bahasa gampangnya gitu...
import javax.swing.table.AbstractTableModel;
public class TmodelPegawai extends AbstractTableModel {
private List<L_Pegawai> list;
public TmodelPegawai(List<L_Pegawai> list) {
this.list = list;
}
public int getRowCount() {
return list.size();
}
public int getColumnCount() {
return 3;
}
public Object getValueAt(int rowIndex, int columnIndex) {
switch (columnIndex) {
case 0:
return list.get(rowIndex).getKodePegawai();
case 1:
return list.get(rowIndex).getNamaPegawai();
case 2:
return list.get(rowIndex).getJenisKelamin();
default:
return null;
}
}
@Override
public String getColumnName(int column) {
switch (column) {
case 0:
return "Kode Pegawai";
case 1:
return "Nama Pegawai";
case 2:
return "Jenis Kelamin";
default:
return null;
}
}
}
Setelah itu ente tambahin beberapa Object yang akan membantu kita menghubungkan project kita dengan mysql di bawah Constructor... gak tau Construktor ??? kalo gak tau silahkan baca postingan ane yang membahas tentang dasar pemrograman Java, C# dan C++.... Tambahkan Beberapa object berikut
private Connection koneksi;Kalo Udah Tambahkan kode barikut didalam Constructor...
private ResultSet hasil;
private Statement stat;
private String query,url,database;
private L_Pegawai pegawai;
private List<l_pegawai> list;
private TableModel model;
buttonGroup1.add(radiobutton_pria);Sekarang ente bangkitin semua event Action Performed pada semua button dan event WindowOpened... Ini kode yang ada pada WindowOpened
buttonGroup1.add(radiobutton_wanita);
try{
database= "kantor";
url = "jdbc:mysql://localhost:3306/"+database;
Class.forName("com.mysql.jdbc.Driver");
koneksi = DriverManager.getConnection(url, "root", "");
}catch(SQLException ex){
JOptionPane.showMessageDialog(null, ex);
}catch(ClassNotFoundException ex){
JOptionPane.showMessageDialog(null, ex);
}
try{Ini kode yang ada di event Action Performed Button Simpan
query = "select * from pegawai";
stat = koneksi.createStatement();
hasil = stat.executeQuery(query);
this._setModel(hasil);
btn_simpan.setEnabled(true);
btn_update.setEnabled(false);
btn_delete.setEnabled(false);
btn_bersih.setEnabled(false);
btn_cari.setEnabled(true);
text_kodepegawai.setText("");
text_kodepegawai.setEnabled(true);
text_kodepegawai.requestFocus();
text_namapegawai.setText("");
buttonGroup1.clearSelection();
}catch(SQLException ex){
JOptionPane.showMessageDialog(null, ex);
}
try{Ini kode yang ada di event Action Performed Button Cari
String j_kelamin = "";
if(radiobutton_pria.isSelected()){
j_kelamin = "Pria";
}else if(radiobutton_wanita.isSelected()){
j_kelamin = "Wanita";
}else{}
if(text_kodepegawai.getText().equals("") && text_namapegawai.getText().equals("") || j_kelamin.equals("")){
JOptionPane.showMessageDialog(null, "data Tidak lengkap");
}else{
query = "insert into pegawai values ('"+text_kodepegawai.getText()+"','"+text_namapegawai.getText()+"','"+j_kelamin+"')";
stat = koneksi.createStatement();
int res = stat.executeUpdate(query);
if(res == 1){
JOptionPane.showMessageDialog(null, "Insert Data Sukses !");
formWindowOpened(null);
}
}
}catch(SQLException ex){
JOptionPane.showMessageDialog(null, ex);
}
try{Ini kode yang ada di event Action Performed Button Bersih
String j_kelamin = "";
if(text_kodepegawai.getText().equals("")){
JOptionPane.showMessageDialog(null, "Tidak Ada data Yang Anda Pilih");
}else{
query = "select * from pegawai where kodepegawai = '"+text_kodepegawai.getText()+"'";
stat = koneksi.createStatement();
hasil = stat.executeQuery(query);
while(hasil.next()){
text_namapegawai.setText(hasil.getString("namapegawai"));
j_kelamin = hasil.getString("jeniskelamin");
}
if(j_kelamin.equals("")){
JOptionPane.showMessageDialog(null, "Data Yang Anda Pilih Tidak Ada di database");
formWindowOpened(null);
}else{
if(j_kelamin.equals("Pria")){
radiobutton_pria.setSelected(true);
}else{
radiobutton_wanita.setSelected(true);
}
query = "select * from pegawai where kodepegawai = '"+text_kodepegawai.getText()+"'";
stat = koneksi.createStatement();
hasil = stat.executeQuery(query);
_setModel(hasil);
btn_simpan.setEnabled(false);
btn_update.setEnabled(true);
btn_delete.setEnabled(true);
btn_cari.setEnabled(false);
btn_bersih.setEnabled(true);
text_kodepegawai.setEnabled(false);
}
}
}catch(SQLException ex){
JOptionPane.showMessageDialog(null, ex);
}
try{Tambahkan kode ini padaevent Action Performed Button Update
formWindowOpened(null);
}catch(Exception ex){
JOptionPane.showMessageDialog(null, ex);
}
try{Tambahkan kode ini pada event Action Performed Button Delete
String j_kelamin = "";
if(radiobutton_pria.isSelected()){
j_kelamin = "Pria";
}else if(radiobutton_wanita.isSelected()){
j_kelamin = "Wanita";
}else{}
query = "update pegawai set namapegawai = '"+text_namapegawai.getText()+"', jeniskelamin = '"+j_kelamin+"' where kodepegawai = '"+text_kodepegawai.getText()+"'";
stat = koneksi.createStatement();
int res = stat.executeUpdate(query);
if(res == 1){
JOptionPane.showMessageDialog(null, "Update Data Sukses !");
formWindowOpened(null);
}
}catch(SQLException ex){
JOptionPane.showMessageDialog(null, ex);
}
try{Dan terakhir ente tambahin satu Function... function ini dibuat dengan tujuan menghemat kode program yang ditulis berulang kali, function ini berisi program yang akan menempatkan data yang telah kita panggil dari database dan di tempatkan pada 2 Class yang kita buat diawal tadi :D ... kalo diproject ini si gak terlalu terasa soalnya kan project sederhana... kalo nanti udah molai ke project yang agak Luas baru kerasa fungsinya Function ini...
if(JOptionPane.showConfirmDialog(null, "Anda Yakin menghapus Data ini ??","Warning",2) == JOptionPane.YES_OPTION){
query = "delete from pegawai where kodepegawai = '"+text_kodepegawai.getText()+"'";
stat = koneksi.createStatement();
int res = stat.executeUpdate(query);
if(res == 1){
JOptionPane.showMessageDialog(null, "Delete Data Sukses !");
}
}
formWindowOpened(null);
}catch(SQLException ex){
JOptionPane.showMessageDialog(null, ex);
}
private void _setModel(ResultSet hasil)
{
try{
list = new ArrayList<L_Pegawai>();
while(hasil.next()){
pegawai = new L_Pegawai();
pegawai.setKodePegawai(hasil.getString("kodepegawai"));
pegawai.setNamaPegawai(hasil.getString("namapegawai"));
pegawai.setJenisKelamin(hasil.getString("jeniskelamin"));
list.add(pegawai);
}
model = new TmodelPegawai(list);
jTable1.setModel(model);
}catch(SQLException ex){
JOptionPane.showMessageDialog(null, ex);
}
Oia ini demo dari Kode Program di Atas...
sekalian dulu ya Gan postingan yang ini... Pengunjung yang baik pasti meninggalkan jejak (Comment) :D... Oia ini project CRUD java nya kalo mau di download, silahkan download disini