tutorial lanjutan java netbeans 8 : create read update delete
TRANSCRIPT
Tutorial Java tingkat lanjut : Membuat CRUD Mengunakan Java dan MySQL
CRUD merupakan singkatan dari Create Read Update Delete (Buat Baca Perbarui Hapus)
langkah pertama buat aplikasi baru untuk java, kemudian klik kanan pada folder aplikasi tersebut
pilih new java pakage.. beri nama koneksi klik finish.
dalam paket koneksi tambahkan tambahkan class java klik kanan pada paket koneksi pilih
new java class.. beri nama koneksi.java.
Fungsi class koneksi ini untuk mengkoneksikan aplikasi yang dibuat dengan database.
Tuliskan code berikut pada class koneksi.java
12345678910111213141516171819202122232425262728293031323334353637383940
/** To change this license header, choose License Headers in Project Properties.* To change this template file, choose Tools | Templates* and open the template in the editor.*/package koneksi; import java.sql.*;import javax.swing.JOptionPane;import com.mysql.jdbc.Driver; /**** @author c13*/public class koneksi { private static Connection mysqlkonek; public static Connection koneksiDB() throws SQLException{ if(mysqlkonek==null){ try { String url="jdbc:mysql://localhost:3306/belajar"; String user="root"; String pass=""; DriverManager.registerDriver(new com.mysql.jdbc.Driver()); mysqlkonek = (Connection) DriverManager.getConnection(url,user,pass); } catch (Exception e) { JOptionPane.showMessageDialog(null,"gagal koneksi"); } } return mysqlkonek; }}
Sumber : http://www.carikode.com - 1
jangan lupa membuat database dengan nama belajar.
Buat tabel dengan desain kolom (id_barang (int), nama_barang(text), jenis_barang(text), dan
distributor(text)).
desain tabel database
langkah kedua yaitu membuat paket baru dengan nama crud, caranya sama seperti di atas.
tambahkan JframeFrom..untuk mendesain form crud. Gunakan nama Crud untuk Jframe From,
desainnya seperti di bawah ini :
form crud menggunakan java
tambahkan r2xml.jar, caranya download dulu http://gdurl.com/2H-i/download . untuk menambahkan file r2xml .jar klik kanan pada folder library yang berada dalam paket aplikasi, pilih Add Jar/Folder dan pilih file r2xml.jar yang sudah di download tadi. fungsi dari r2xml.jar ini untuk mengatur kolom jTable sesuai dengan kolom yang ada dalam database.
Sumber : http://www.carikode.com - 2
klik pada menu source yang ada di atas form dan tuliskan code berikut pada Class data_produk.
123456789101112
public class data_produk extends javax.swing.JFrame { private void update_tabel(){ try { java.sql.Connection conn =(java.sql.Connection)koneksi.koneksi.koneksiDB(); java.sql.Statement stm = conn.createStatement(); java.sql.ResultSet sql = stm.executeQuery("select * from barang"); jTable1.setModel(DbUtils.resultSetToTableModel(sql)); } catch (Exception e) { } }
ini berfungsi untuk mengupdate table, ketika menambah atau menghapus yang ada dalam table,
maka tabel tersebut dengan otomatis ter-update otomatis.
tambahkan syntak update_tabel(); di public data_produk.
1234
public data_produk() { initComponents(); update_tabel(); }
embali pada form desain, klik kanan pada tabel yang sudah dibuat, pilih Events – Mouse –
mouseKliked.. setelah itu akan muncul form untuk diisikan perintah (code program) isikan code
berikut pada pad form jTable.
123456789101112131415161718192021222324
private void jTable1MouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: try { int row =jTable1.getSelectedRow(); String tabel_klik=(jTable1.getModel().getValueAt(row, 0).toString()); java.sql.Connection conn =(java.sql.Connection)koneksi.koneksi.koneksiDB(); java.sql.Statement stm = conn.createStatement(); java.sql.ResultSet sql = stm.executeQuery("select * from barang where id_barang='"+tabel_klik+"'"); if(sql.next()){ String add1 = sql.getString("id_barang"); txt_id.setText(add1); String add2 = sql.getString("nama_barang"); txt_nama.setText(add2); String add3 = sql.getString("jenis_barang"); txt_jenis.setText(add3); String add4 = sql.getString("distributor"); txt_distributor.setText(add4); } } catch (Exception e) { } }
Sumber : http://www.carikode.com - 3
code ini berfungsi untuk menampilkan semua data yang ada dalam tabel barang,
berikut penjelasan code program untuk jTabel di atas :
1234
int row =jTable1.getSelectedRow(); String tabel_klik=(jTable1.getModel().getValueAt(row, 0).toString()); java.sql.Connection conn =(java.sql.Connection)koneksi.koneksi.koneksiDB(); java.sql.Statement stm = conn.createStatement();
code ini digunakan untuk memanggil class koneksi yang telah dibuat tadi.
1 java.sql.ResultSet sql = stm.executeQuery("select * from barang where id_barang='"+tabel_klik+"'");
code ini digunakan untuk menampilkan semua isi yang ada pada tabel barang, di mana data
yang ditampilkan berurutan sesuai dengan id _barang.
12345678
String add1 = sql.getString("id_barang"); txt_id.setText(add1); String add2 = sql.getString("nama_barang"); txt_nama.setText(add2); String add3 = sql.getString("jenis_barang"); txt_jenis.setText(add3); String add4 = sql.getString("distributor"); txt_distributor.setText(add4);
kode ini digunakan untuk mengatur judul kolom yang ditampilkan pada form. ketika aplikasi
dijalankan akan dimunculkan form yang telah dibuat tadi, ketika salah satu data yang ada dalam
tabel di klik, maka isi dari data yang diklik tersebut akan muncul ke dalam panel editor.
melihat isi database
Sumber : http://www.carikode.com - 4
langkah ketiga buat code untuk mengaktifkan tombol simpan. caranya klik kanan pada tombol
simpan pilih event Action actionPerformed. tuliskan kode berikut :
private void b_simpanActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: try { String sql = "insert into barang values('"+txt_id.getText()+"','"+txt_nama.getText()+"','"+txt_jenis.getText()+"','"+txt_distributor.getText()+"')"; java.sql.Connection conn = (java.sql.Connection) koneksi.koneksi.koneksiDB(); java.sql.PreparedStatement pst = conn.prepareStatement(sql); pst.execute(); JOptionPane.showMessageDialog(null, "berhasil disimpan"); } catch (Exception e) { JOptionPane.showMessageDialog(null, e); } update_tabel(); }
penjelasan :
String sql = "insert into barang values('"+txt_id.getText()+"','"+txt_nama.getText()+"','"+txt_jenis.getText()+"','"+txt_distributor.getText()+"')";
kode di atas yaitu perintah mysql yang dijalankan pada java. berikut tampilan aplikasi setelah di
jalankan :
tambah data
klik kanan pada tombol Edit pilih events Actions actionPerformen..
Sumber : http://www.carikode.com - 5
setelah tampil source code, tuliskan syntax berikut :
123456789101112131415161718
private void b_editActionPerformed(java.awt.event.ActionEvent evt) { try { String value1 = txt_id.getText(); String value2 =txt_nama.getText(); String value3 = txt_jenis.getText(); String value4 =txt_distributor.getText(); String sql ="update barang set id_barang='"+value1+"', nama_barang='"+value2+"', jenis_barang='"+value3+"', distributor='"+value4+"' where id_barang='"+value1+"'"; java.sql.Connection conn=(java.sql.Connection) koneksi.koneksi.koneksiDB(); java.sql.PreparedStatement pst = conn.prepareStatement(sql); pst.execute(); JOptionPane.showMessageDialog(null, "edit ?"); } catch (Exception e) { JOptionPane.showMessageDialog(null, "error"); } update_tabel(); }
penjelasan :
1234
String value1 = txt_id.getText(); String value2 =txt_nama.getText(); String value3 = txt_jenis.getText(); String value4 =txt_distributor.getText();
code di atas diibaratkan misalnya txt_id.getText, dll. jadi maksudnya untuk memudahkan dalam
penulisan kode pada syntax mysql.
Sumber : http://www.carikode.com - 6
1 String sql ="update barang set id_barang='"+value1+"', nama_barang='"+value2+"', jenis_barang='"+value3+"', distributor='"+value4+"' where id_barang='"+value1+"'";
code ini merupakan syntak mysql untuk mengedit data.
12
java.sql.Connection conn=(java.sql.Connection) koneksi.koneksi.koneksiDB(); java.sql.PreparedStatement pst = conn.prepareStatement(sql);
code ini untuk mengkoneksikan fungdi edit dengan mysql.
123
} catch (Exception e) { JOptionPane.showMessageDialog(null, "error"); }
jika perintah di atas error maka perintah ini akan dijalankan.
berikut tampilan aplikasi setelah dijalankan :
fungsi edit
klik pada salah satu item data dan akan muncul ke form pengisian, ganti salah satu item tersebut,
misalkan ganti nama aplikasi dari game fuzzle menjadi game, setelah itu tekan tombol Edit. dan
ini dia hasilnya :
Sumber : http://www.carikode.com - 7
fungsi edit
nama barang sudah berubah menjadi game.
berikutnya klik kanan pada tombol Hapus pilih events action actionPerformed..
akan muncul form source code dan tuliskan syntak berikut :
123456789101112131415161718192021
private void b_hapusActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: try { String sql ="delete from barang where id_barang=? "; java.sql.Connection conn = (java.sql.Connection) koneksi.koneksi.koneksiDB(); java.sql.PreparedStatement pst = conn.prepareStatement(sql); pst.setString(1, txt_id.getText()); pst.execute(); JOptionPane.showMessageDialog(null, "hapus"); txt_id.setText(""); txt_nama.setText(""); txt_jenis.setText(""); txt_distributor.setText(""); } catch (Exception e) { } update_tabel(); }
Sumber : http://www.carikode.com - 8
penjelasan :
123
String sql ="delete from barang where id_barang=? "; java.sql.Connection conn = (java.sql.Connection) koneksi.koneksi.koneksiDB(); java.sql.PreparedStatement pst = conn.prepareStatement(sql);
string sql merupakan perintah mysql yang dijalankan dalam aplikasi, sedangkan java.sql
merupakan koneksi untuk menghubungkan antara fungsi delete dengan mysql.
1234
txt_id.setText(""); txt_nama.setText(""); txt_jenis.setText(""); txt_distributor.setText("");
perintah ini fungsinya ketika data berhasil dihapus, maka semua form pengisian dikosongkan.
Ketika aplikasi dijalankan maka berikut aksinya.
fungsi hapus
pilih data yang akan dihapus, dan klik tombol hapus. jika berhasil di hapus, maka data yang ke
tujuh akan hilang.
Sumber : http://www.carikode.com - 9
fungsi hapus
klik kanan pada tombol batal, pilih Events Action actionPerformed tuliskan code
berikut di fungsi batal :
1234567
private void b_batalActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: txt_id.setText(""); txt_nama.setText(""); txt_jenis.setText(""); txt_distributor.setText(""); }
kode ini fungsinya ketika ditekan tombol batal, maka form pegisian akan dikosongkan kembali
Sumber : http://www.carikode.com - 10
fungsi batal pada crud
pertama aplikasi yang dijalankan seperti di atas, klik salah satu data yang ada pada tabel, maka
semua isi tabel akan dialihkan ke form pengisian, dan ketika tombol batal diklik, maka form isi
yang berada dalam form pengisian akan hilang.
fungsi batal pada form crud menggunakan java
Berikutnya klik kanan pada tombol kembali pilih Events Action actionPerformed,
tuliskan kode berikut dalam fungsi kembali :
Sumber : http://www.carikode.com - 11
12345
private void b_kembaliActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: this.dispose(); System.exit(0);}
fungsinya, ketika tombol kembali diklik maka aplikasi akan ditutup / close.
Sumber : http://www.carikode.com - 12
Kode selengkapnya sebagai berikut :
1. import java.sql.*;2. import javax.swing.*;3. import com.mysql.jdbc.*;4. import net.proteanit.sql.DbUtils;5. /*** 6. @author c137. ***/8.9. public class data_produk extends javax.swing.JFrame {10. private void update_tabel(){11. try {12. java.sql.Connection conn =(java.sql.Connection)koneksi.koneksi.koneksiDB();13. java.sql.Statement stm = conn.createStatement();14. java.sql.ResultSet sql = stm.executeQuery("select * from barang");15. jTable1.setModel(DbUtils.resultSetToTableModel(sql));16. } catch (Exception e) {17. }18. }19.20. public data_produk() {21. initComponents();22. update_tabel();23. }24.25. private void jTable1MouseClicked(java.awt.event.MouseEvent evt) { 26. // TODO add your handling code here:27. try {28. int row =jTable1.getSelectedRow();29. String tabel_klik=(jTable1.getModel().getValueAt(row, 0).toString());30. java.sql.Connection conn =(java.sql.Connection)koneksi.koneksi.koneksiDB();31. java.sql.Statement stm = conn.createStatement();32. java.sql.ResultSet sql = stm.executeQuery("select * from barang where
id_barang='"+tabel_klik+"'");33. if(sql.next()){
String add1 = sql.getString("id_barang");txt_id.setText(add1);String add2 = sql.getString("nama_barang");txt_nama.setText(add2);String add3 = sql.getString("jenis_barang");txt_jenis.setText(add3);String add4 = sql.getString("distributor");txt_distributor.setText(add4);
34. }35. } catch (Exception e) {36. }37. } 38.39. private void b_simpanActionPerformed(java.awt.event.ActionEvent evt) { 40. // TODO add your handling code here:
Sumber : http://www.carikode.com - 13
41. try {42. String sql = "insert into barang values('"+txt_id.getText()+"','"+txt_nama.getText()
+"','"+txt_jenis.getText()+"','"+txt_distributor.getText()+"')";43. java.sql.Connection conn = (java.sql.Connection) koneksi.koneksi.koneksiDB();44. java.sql.PreparedStatement pst = conn.prepareStatement(sql);45. pst.execute();46. JOptionPane.showMessageDialog(null, "berhasil disimpan");47. } catch (Exception e) {48. JOptionPane.showMessageDialog(null, e);49. }50. update_tabel(); 51. }52.53. private void b_kembaliActionPerformed(java.awt.event.ActionEvent evt) { 54. // TODO add your handling code here:55. this.dispose();56. System.exit(0);57. } 58.59. private void b_hapusActionPerformed(java.awt.event.ActionEvent evt) { 60. // TODO add your handling code here:61. try {62. String sql ="delete from barang where id_barang=? ";63. java.sql.Connection conn = (java.sql.Connection) koneksi.koneksi.koneksiDB();64. java.sql.PreparedStatement pst = conn.prepareStatement(sql);65. pst.setString(1, txt_id.getText());66. pst.execute();67. JOptionPane.showMessageDialog(null, "hapus");68. txt_id.setText("");69. txt_nama.setText("");70. txt_jenis.setText("");71. txt_distributor.setText("");72. } catch (Exception e) {73. }74. update_tabel();75. }76.77. private void b_editActionPerformed(java.awt.event.ActionEvent evt) { 78. try {79. String value1 = txt_id.getText();80. String value2 =txt_nama.getText();81. String value3 = txt_jenis.getText();82. String value4 =txt_distributor.getText();83. String sql ="update barang set id_barang='"+value1+"', nama_barang='"+value2+"',
jenis_barang='"+value3+"', distributor='"+value4+"' where id_barang='"+value1+"'";84. java.sql.Connection conn=(java.sql.Connection) koneksi.koneksi.koneksiDB();85. java.sql.PreparedStatement pst = conn.prepareStatement(sql);86. pst.execute();87. JOptionPane.showMessageDialog(null, "edit ?");88. } catch (Exception e) {89. JOptionPane.showMessageDialog(null, "error");
Sumber : http://www.carikode.com - 14
90. }91. update_tabel();92. } 93. 94. private void b_batalActionPerformed(java.awt.event.ActionEvent evt) { 95. // TODO add your handling code here:96. txt_id.setText("");97. txt_nama.setText("");98. txt_jenis.setText("");99. txt_distributor.setText("");100. }
Sumber : http://www.carikode.com - 15