Nah langsung saja di persiapkan senjatanya :
1. Netbeans 6.9
2. PHPMyadmin
dah cuma itu saja..
step2 nya yaitu :
1. Buat database dengan nama pejabat.
2. Buat tabel data_pejabat trus isinya no dan nama
no pake int aja jadiin primary key, trus nama pake varchar
3. Buka editor netbeans. Kalo lom punya install dulu.
4. Buat project baru , nama terserah yang jelas pilih java aplication.lalu setting koneksi database nya. klik kanan service -->database-->klik kanan create connection.
5. Buat kelas entitas dengan nama pejabat.
package entity;
/**
*
* @author suryono
*/
public class Pejabat {
//variabel yang ada untuk entitas sama dengan yang di database
private int no;
private String jeneng;
//getter untuk nama
public String getJeneng() {
return jeneng;
}
//setter untuk nama
public void setJeneng(String jeneng) {
this.jeneng = jeneng;
}
public int getNo() {
return no;
}
public void setNo(int no) {
this.no = no;
}
}6. Buat tabel model nya
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package model;
import entity.Pejabat;
import java.util.List;
import javax.swing.table.AbstractTableModel;
/**
*
* @author suryono
*/
//berguna untuk menampung data dari database terus ditampilkan ke tabel
public class TabelModelPejabat extends AbstractTableModel {
List
public TabelModelPejabat(List
this.list = list;
}
public Pejabat get(int row){
return list.get(row);
}
//mendapatkan jumlah baris
public int getRowCount() {
return list.size();
}
//mendapatkan jumlah kolom
public int getColumnCount() {
return 2;
}
//mendapatkan no dan nama
public Object getValueAt(int rowIndex, int columnIndex) {
switch (columnIndex) {
case 0: return list.get(rowIndex).getNo();
case 1: return list.get(rowIndex).getJeneng();
default: return null;
}
}
//untuk memberi nama kolom di tabel
@Override
public String getColumnName(int column) {
switch (column) {
case 0: return "No Penjahat";
case 1: return "Nama Penjahat";
default : return null;
}
}
}
7. Buat Daonya letakkan di package model caranya : klik kanan project --> java class
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package model;
import entity.Pejabat;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
/**
*
* @author suryono
*/
//class untuk koneksi ke database
public class DaoPejabat {
//url ke database
private String url = "jdbc:mysql://localhost:3306/pejabat";
//username database
private String username = "root";
//password database
private String password = "root";
//variabel untuk membuat koneksi
private Connection con;
//untuk mendapatkan array dari pejabat
private List
public DaoPejabat() {
try {
try {
//mengenalkan driver
Class.forName("com.mysql.jdbc.Driver").newInstance();
} catch (InstantiationException ex) {
JOptionPane.showMessageDialog(null, "kesalahan " + ex);
} catch (IllegalAccessException ex) {
JOptionPane.showMessageDialog(null, "kesalahan : " + ex);
}
} catch (ClassNotFoundException ex) {
JOptionPane.showMessageDialog(null, "kesalahan : " + ex);
}
}
public DaoPejabat(Connection con) {
this.con = con;
}
//method untuk koneksi database
public void connect() throws SQLException {
this.con = DriverManager.getConnection(url, username, password);
}
//method untuk menutup koneksi ke database
public void disconnect() throws SQLException {
this.con.close();
}
//method mendapatkan data dari database pejabat dalam bentuk array
public List
try {
//membuat statement
Statement st = con.createStatement();
String sql = "SELECT * FROM data_pejabat";
//mendapatkan data dari tabel dalam bentuk result set
ResultSet rs = st.executeQuery(sql);
list = new ArrayList
while (rs.next()) {
Pejabat pj = new Pejabat();
pj.setNo(rs.getInt("no"));
pj.setJeneng(rs.getString("nama"));
list.add(pj);
}
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "kesalahan pada dao : " + ex);
}
return list;
}
//method untuk insert ke database
public void insert(Pejabat pj) {
try {
String sql = "INSERT INTO data_pejabat VALUES(?,?)";
PreparedStatement ps = this.con.prepareStatement(sql);
ps.setInt(1, pj.getNo());
ps.setString(2, pj.getJeneng());
ps.executeUpdate();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "kesalahan pada dao : " + ex);
}
}
//method untuk update ke database
public void update(int no, Pejabat pj) {
try {
String sql = "UPDATE data_pejabat set no=?, nama=? WHERE no=?";
PreparedStatement ps = this.con.prepareStatement(sql);
ps.setInt(1, pj.getNo());
ps.setString(2, pj.getJeneng());
ps.setInt(3, no);
ps.executeUpdate();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "kesalahan pada dao : " + ex);
}
}
//method untuk delete database
public void delete(int no) {
try {
String sql = "DELETE from data_pejabat WHERE no=?";
PreparedStatement ps = this.con.prepareStatement(sql);
ps.setInt(1, no);
ps.executeUpdate();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "kesalahan pada dao : " + ex);
}
}
//method untuk pencarian
public List
try {
Statement st = con.createStatement();
String sql = "SELECT * FROM data_pejabat WHERE no like?";
list = new ArrayList
PreparedStatement ps = this.con.prepareStatement(sql);
ps.setString(1, "%" + no + "%");
ResultSet rs = ps.executeQuery();
while (rs.next()) {
Pejabat pj = new Pejabat();
pj.setNo(rs.getInt("no"));
pj.setJeneng(rs.getString("nama"));
list.add(pj);
}
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "kesalahan pada dao : " + ex);
}
return list;
}
}
8. Buat tampilannya
9. Tinggal koding dalemannya
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/*
* PejabatView.java
*
* Created on Aug 5, 2010, 6:15:32 AM
*/
package view;
import entity.Pejabat;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.table.TableModel;
import model.DaoPejabat;
import model.TabelModelPejabat;
/**
*
* @author suryono
*/
public class PejabatView extends javax.swing.JFrame {
//membuat object dari DaoPejabat untuk koneksi ke database
DaoPejabat dao = new DaoPejabat();
Pejabat pj;
// TabelModelPejabat tmp ;
//
// public TabelModelPejabat getTmp() {
// return tmp;
// }
/** Creates new form PejabatView */
public PejabatView() {
try {
initComponents();
dao.connect();
List
list = dao.read();
TableModel tableModel = new TabelModelPejabat(list);
tabelPejabat.setModel(tableModel);
} catch (SQLException ex) {
Logger.getLogger(PejabatView.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void btnInsertActionPerformed(java.awt.event.ActionEvent evt) {/
try {
pj = new Pejabat();
//mendapatkan no dan nama dari view
pj.setNo(Integer.parseInt(txtNo.getText()));
pj.setJeneng(txtNama.getText());
dao.connect();
dao.insert(pj);
List
//membaca datanya ke list
list = dao.read();
//menampilkan data ke tabel
TableModel tableModel = new TabelModelPejabat(list);
tabelPejabat.setModel(tableModel);
dao.disconnect();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(this, "no tidak boleh sama ");
}
}
private void btnDeleteActionPerformed(java.awt.event.ActionEvent evt) {
try {
int noBaris = tabelPejabat.getSelectedRow();
//jika baris tidak di klik
if (noBaris < 0) {
return;
}
if (JOptionPane.showConfirmDialog(this, "Yakin menghapus data", "Peringatan", JOptionPane.OK_CANCEL_OPTION) == JOptionPane.CANCEL_OPTION) {
return ;
}
//mendapatkan nilai no dari tabel yang di klik
Object index = tabelPejabat.getValueAt(noBaris, 0);
dao.connect();
dao.delete(Integer.parseInt(String.valueOf(index)));
List
list = dao.read();
//menampilkan data ke tabel
TableModel tableModel = new TabelModelPejabat(list);
tabelPejabat.setModel(tableModel);
dao.disconnect();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(this, "Kesalahan : " + ex);
}
}
private void btnUpdateActionPerformed(java.awt.event.ActionEvent evt) {
try {
int baris = tabelPejabat.getSelectedRow();
Object indek = tabelPejabat.getValueAt(baris, 0);
int nilaiIndek = Integer.parseInt(String.valueOf(indek));
dao.connect();
pj = new Pejabat();
pj.setNo(Integer.parseInt(txtNo.getText()));
pj.setJeneng(txtNama.getText());
pj.setNo(nilaiIndek);
dao.update(Integer.parseInt(txtNo.getText()), pj);
List
list = dao.read();
TableModel tableModel = new TabelModelPejabat(list);
tabelPejabat.setModel(tableModel);
dao.disconnect();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(this, "Kesalahan : " + ex);
}
}
private void btnCariActionPerformed(java.awt.event.ActionEvent evt) {
try {
//mendapatkan nilai dari yang dicari
int cari = Integer.parseInt(txtCari.getText());
List
list = new ArrayList
dao.connect();
list = dao.read(cari);
//menampilkan yang dicari
TableModel tableModel = new TabelModelPejabat(list);
tabelPejabat.setModel(tableModel);
} catch (SQLException ex) {
JOptionPane.showMessageDialog(this, "Kesalahan : " + ex);
}
}
//mengisikan data dari tabel ke textno dan textnama
private void tabelPejabatMouseClicked(java.awt.event.MouseEvent evt) {
int selected = tabelPejabat.getSelectedRow();
if (selected < 0) {
JOptionPane.showMessageDialog(this, "Klik row tabel");
} else {
Object noBaris = tabelPejabat.getValueAt(selected, 0);
txtNo.setText(noBaris.toString());
txtNama.setText((String) tabelPejabat.getValueAt(selected, 1));
}
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new PejabatView().setVisible(true);
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton btnCari;
private javax.swing.JButton btnDelete;
private javax.swing.JButton btnInsert;
private javax.swing.JButton btnUpdate;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextField jTextField3;
private javax.swing.JTable tabelPejabat;
private javax.swing.JTextField txtCari;
private javax.swing.JTextField txtNama;
private javax.swing.JTextField txtNo;
// End of variables declaration//GEN-END:variables
}
10. Tinggal masukkan mysql jdbc drivernya trus di jalankan..
maap kalo masih berantakan .. ini pertama kali post pake code java ..
download source code nya disini.
mungkin masih ada kekurangan nya sih tapi kalo mau serius belajar pasti bisa kq..he he
Tidak ada komentar:
Posting Komentar