Jumat, 29 Juni 2012

Manipulasi DataBase


Manipulasi DataBase

Posting berikut ini tentang manipulasi dengan database yang menggunakan MySQL. Pertama buat database dengan MySQL dengan judul dbtry. Kemudian koneksikan dengan netbeans. Buat class baru yang berisi :

package db.app;
public class Buku {
private int jumlah;
private String judul;
private String penerbit;
private String penulis;
public Buku() {
}
public int getJumlah() {
return jumlah;
}
public void setJumlah(int jumlah) {
this.jumlah = jumlah;
}
public String getJudul() {
return judul;
}
public void setJudul(String judul) {
this.judul = judul;
}
public String getPenerbit() {
return penerbit;
}
public void setPenerbit(String penerbit) {
this.penerbit = penerbit;
}
public String getPenulis() {
return penulis;
}
public void setPenulis(String penulis) {
this.penulis = penulis;
}
}

Lalu buat class yang baru dengan judul BookManager
class lain
package db.app;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author rizma
*/
public class BookManager {
Connection con = null;
Statement st = null;
String url = “jdbc:mysql: //localhost:3306/dbtest”;
String user = “tes”;
String pass = “tes”;

public BookManager() {
try{
Class.forName(”com.mysql.jdbc.Driver”).newInstance();
con = DriverManager.getConnection(url,user,pass);
st=con.createStatement();
}catch(Exception ex){
ex.printStackTrace();
}
}
public List
getBuku(){
ResultSet rs = null;
List
buku = new ArrayList
();
try{
rs = st.executeQuery(”SELECT JUMLAH, JUDUL, PENERBIT, PENULIS FROM tbuku”);
while(rs.next()){
Buku b = new Buku();
b.setJumlah(rs.getInt(1));
b.setJudul(rs.getString(2));
b.setPenerbit(rs.getString(3));
b.setPenulis(rs.getString(4));
Buku.add(b);
}
}catch(Exception ex){
ex.printStackTrace();
}
return Buku;
}
public int insert(Buku b){
int result = 0;
try{
result = st.executeUpdate(”INSERT INTO tbuku(jumlah, judul, penerbit, penulis) ” +
“VALUES(”+b.getJumlah()+”,‟”+b.getJudul()+”„,‟”+b.getPenerbit()+”„,” +
“„”+b.getPenulis()+”„)”);
}catch(Exception ex){
ex.printStackTrace();
}
return result;
}
public int delete(Buku b){
int result = 0;
try{
result = st.executeUpdate(”DELETE FROM tbuku WHERE Jumlah=”+b.getJumlah()+”");
}catch(Exception ex){
ex.printStackTrace();
}
return result;
}
}

 Kemudian buat tampilan di javaframe seperti ini :

Ubah semua nama-namanya menjadi :
text Jumlah –> txtJumlah
text Judul –> txtNama
text Penulis –> txtPenerbit
text Penulis –> txtPenulis
Tombol Prev –> btnPrev
Tombol Next –> btnNext
Tombol Baru –> btnBaru
Tombol Simpan –>btnSimpan
Tombol Hapus–> btnHapus

Kode pada btnBaru
private void btnBaruActionPerformed(java.awt.event.ActionEvent evt) {
txtJumlah.setText(”");
txtJudul.setText(”");
txtPenulis.setText(”");
txtPenerbit.setText(”");
txtJumlah.setEditable(true);
txtJUdul.setEditable(true);
txtPenulis.setEditable(true);
txtPenerbit.setEditable(true);
txtJudul.requestFocus();
}

Untuk tombol btnSimpan
private void btnSimpanActionPerformed(java.awt.event.ActionEvent evt) {
Buku b = new Buku();
b.setJumlah(Integer.parseInt(txtJumlah.getText()));
b.setJudul(txtNama.getText());
b.setPenulis(txtPenulis.getText());
b.setPenerbit(txtPenerbit.getText());
if(pmgr.insert(p)>0){
loadData();
currentRow = Buku.size()-1;
bindData();
JOptionPane.showMessageDialog(this,”Data Disimpan”,”Informasi”,
JOptionPane.INFORMATION_MESSAGE);
txtJumlah.setEditable(false);
txtJUdul.setEditable(false);
txtPenulis.setEditable(false);
txtPenerbit.setEditable(false);
}else{
JOptionPane.showMessageDialog(this,”Data gagal disimpan”,”Informasi”,
JOptionPane.INFORMATION_MESSAGE);
}
}

Untuk tombol btnHapus
private void btnHApusActionPerformed(java.awt.event.ActionEvent evt) {
Buku b = buku.get(currentRow);
if(pmgr.delete(p)>0){
loadData();
currentRow = currentRow-1;
bindData();
JOptionPane.showMessageDialog(this,”Data berhasil dihapus”,”Informasi”,
JOptionPane.INFORMATION_MESSAGE);
}else{
JOptionPane.showMessageDialog(this,”Data gagal dihapus”,”Informasi”,
JOptionPane.INFORMATION_MESSAGE);
}
}

Untuk tombol btnPrev
private void btnPrevActionPerformed(java.awt.event.ActionEvent evt) {
if(currentRow>0){
–currentRow;
}
bindData();
}

Untuk tombol btnNext
private void btnNextActionPerformed(java.awt.event.ActionEvent evt) {
if(currentRow
++currentRow;
}
bindData();
}
Kemudian tambahkan beberapa variabel berikut pada Class MyBook.java
BookManager pmgr = new BookManager();
List<Buku> buku = new ArrayList<Buku>();
int currentRow = 0;

Dan tambahkan 2 method berikut pada Class MyBook.java
private void loadData(){
buku = pmgr.getBuku();
}
private void bindData(){
if(buku.size()>0){
buku b = buku.get(currentRow);
txtJUmlah.setText(p.getJumlah()+”");
txtJudul.setText(p.getJudul());
txtPenerbit.setText(p.getPenerbit());
txtPenulis.setText(p.getPenulis());
}else{
currentRow = 0;
txtJumlah.setText(”");
txtJudul.setText(”");
txtPenulis.setText(”");
txtPenerbit.setText(”");
}
}

Dan yang terakhir ubahlah Constructor Calss MyBook.java menjadi
public MyBook() {
initComponents();
loadData();
bindData();
}

1 komentar: