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();
}