Mengkoneksikan Java Netbeans dengan Database di MySQL via XAMPP
Sri Wahyuni
[email protected]
Abstrak Artikel ini mempelajari cara mengkoneksikan java netbeans dengan database di MySQL dengan XAMPP , namun sebelumnya harus membuat Koneksi dan Implementasi Fungsi (INSERT, UPDATE, DELETE) Java Netbeans dengan Database MySQL di XAMPP. Kata kunci : pemrograman, java, aplikasi, MySQL, XAMPP
Pendahuluan Tujuannya dari artikel ini ingin sharing mengenai koneksi java netbeans dengan database di MySQL via XAMPP
Pembahasan Buatlah sebuah DATABASE dengan XAMPP dengan nama "belajar" dan bikin tabel anggotaberikut struktur tabelnya : id int(10) nama varchar(30) alamat varchar(40)
LisensiDokumen: Copyright © 2008-2014 ilmuti.org Seluruhdokumen di ilmuti.orgdapatdigunakan, dimodifikasidandisebarkansecarabebasuntuktujuanbukankomersial (nonprofit), dengansyarattidakmenghapusataumerubahatributpenulisdanpernyataan copyright yang disertakandalamsetiapdokumen. Tidakdiperbolehkanmelakukanpenulisanulang, kecualimendapatkanijinterlebihdahuludariilmuti.org
tlp varchar(16) . Atau anda bisa men-download file .sql yang telah dibuat di SINI, dan IMPORT file tersebut pada
database
yang
anda
buat
dengan
nama
"belajar"
di
XAMPP.
Buatlah sebuah project baru dengan nama sesuai dengan selera anda pada IDE Netbeans. Lalu buatlah sebuah form terserah apa saja.
Klik Next >
LisensiDokumen: Copyright © 2008-2014 ilmuti.org Seluruhdokumen di ilmuti.orgdapatdigunakan, dimodifikasidandisebarkansecarabebasuntuktujuanbukankomersial (nonprofit), dengansyarattidakmenghapusataumerubahatributpenulisdanpernyataan copyright yang disertakandalamsetiapdokumen. Tidakdiperbolehkanmelakukanpenulisanulang, kecualimendapatkanijinterlebihdahuludariilmuti.org
Klik Finish Saya membuat project dengan nama Tes Database dan Form FormKoneksi
LisensiDokumen: Copyright © 2008-2014 ilmuti.org Seluruhdokumen di ilmuti.orgdapatdigunakan, dimodifikasidandisebarkansecarabebasuntuktujuanbukankomersial (nonprofit), dengansyarattidakmenghapusataumerubahatributpenulisdanpernyataan copyright yang disertakandalamsetiapdokumen. Tidakdiperbolehkanmelakukanpenulisanulang, kecualimendapatkanijinterlebihdahuludariilmuti.org
Lalu klik 2x pada FormKoneksi buatlah interface form nya seperti ini :
Drag Drop JLabel,JTextField,JTable dan JButton. Ubah Nama Variable Control dengan
LisensiDokumen: Copyright © 2008-2014 ilmuti.org Seluruhdokumen di ilmuti.orgdapatdigunakan, dimodifikasidandisebarkansecarabebasuntuktujuanbukankomersial (nonprofit), dengansyarattidakmenghapusataumerubahatributpenulisdanpernyataan copyright yang disertakandalamsetiapdokumen. Tidakdiperbolehkanmelakukanpenulisanulang, kecualimendapatkanijinterlebihdahuludariilmuti.org
mengklik kanan pada control dan pilih Change Variable
LisensiDokumen: Copyright © 2008-2014 ilmuti.org Seluruhdokumen di ilmuti.orgdapatdigunakan, dimodifikasidandisebarkansecarabebasuntuktujuanbukankomersial (nonprofit), dengansyarattidakmenghapusataumerubahatributpenulisdanpernyataan copyright yang disertakandalamsetiapdokumen. Tidakdiperbolehkanmelakukanpenulisanulang, kecualimendapatkanijinterlebihdahuludariilmuti.org
Berikut langkah yang sudah saya susun :
1. Buat Koneksi Database
Add JAR Library MySQL
LisensiDokumen: Copyright © 2008-2014 ilmuti.org Seluruhdokumen di ilmuti.orgdapatdigunakan, dimodifikasidandisebarkansecarabebasuntuktujuanbukankomersial (nonprofit), dengansyarattidakmenghapusataumerubahatributpenulisdanpernyataan copyright yang disertakandalamsetiapdokumen. Tidakdiperbolehkanmelakukanpenulisanulang, kecualimendapatkanijinterlebihdahuludariilmuti.org
Klik Add Library
Buka form dengan mengklik 2x pada FormKoneksi yang telah anda buat tadi, lalu klik tab Source.
LisensiDokumen: Copyright © 2008-2014 ilmuti.org Seluruhdokumen di ilmuti.orgdapatdigunakan, dimodifikasidandisebarkansecarabebasuntuktujuanbukankomersial (nonprofit), dengansyarattidakmenghapusataumerubahatributpenulisdanpernyataan copyright yang disertakandalamsetiapdokumen. Tidakdiperbolehkanmelakukanpenulisanulang, kecualimendapatkanijinterlebihdahuludariilmuti.org
Lalu ketik kode ini tepat di bawah nama package 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 javax.swing.JOptionPane; import javax.swing.table.DefaultTableModel;
Ini berfungsi agar paket-paket yang tersedia untuk Netbeans bekerja dengan baik Lalu di bawah class FormKoneksi sisipkan kode : private static Connection koneksi; //Koneksi private DefaultTableModel model; //Model Tabel
Pada public FormKoneksi sisipkan kode berikut //buat model tabel / header tabel model=new DefaultTableModel(); this.jTable1.setModel(model); model.addColumn("ID"); LisensiDokumen: Copyright © 2008-2014 ilmuti.org Seluruhdokumen di ilmuti.orgdapatdigunakan, dimodifikasidandisebarkansecarabebasuntuktujuanbukankomersial (nonprofit), dengansyarattidakmenghapusataumerubahatributpenulisdanpernyataan copyright yang disertakandalamsetiapdokumen. Tidakdiperbolehkanmelakukanpenulisanulang, kecualimendapatkanijinterlebihdahuludariilmuti.org
model.addColumn("Nama"); model.addColumn("Alamat"); model.addColumn("Telepon");
Buat sebuah void / function untuk membuat sebuah koneksi database, kenapa dibuat pakai function? untuk menimalkan penggunaan kode yang banyak, jadi tinggal panggil function aja nanti private static Connection buka_koneksi() { if (koneksi==null) { try { String url="jdbc:mysql://localhost:3306/belajar"; //nama database belajar String user="root"; //user mysql String password=""; //password mysql DriverManager.registerDriver(new com.mysql.jdbc.Driver()); koneksi=DriverManager.getConnection(url,user,password); }catch (SQLException t) { System.out.println("Error membuat koneksi"); } } return koneksi; }
2. Proses Klik Button Buka mode design dan klik kanan pada tombol Add , pilih actionnya
LisensiDokumen: Copyright © 2008-2014 ilmuti.org Seluruhdokumen di ilmuti.orgdapatdigunakan, dimodifikasidandisebarkansecarabebasuntuktujuanbukankomersial (nonprofit), dengansyarattidakmenghapusataumerubahatributpenulisdanpernyataan copyright yang disertakandalamsetiapdokumen. Tidakdiperbolehkanmelakukanpenulisanulang, kecualimendapatkanijinterlebihdahuludariilmuti.org
Maka anda langsung melihat mode source pada aksi Event klik Button Add Buat kode berikut : Connection c=buka_koneksi(); //panggil function koneks if("Add".equals(this.cmbAdd.getText())) //Jika Button Add teks nya Add { this.cmbAdd.setText("Save"); //Buat Teks Button Add yaitu Save this.cmbEdit.setText("Cancel"); this.cmbDelete.enable(false); this.cmbRefresh.enable(false); this.lblKode.setText("0"); //Kosongkan Nilai LabelKode this.TxtNama.setText(""); this.TxtAlamat.setText(""); this.TxtTelepon.setText(""); }else if("Save".equals(this.cmbAdd.getText())) { //bikin sql query tambah data String sqlkode="Insert into anggota (`nama`,`alamat`,`tlp`) " + "values ('"+this.TxtNama.getText()+"'," + "'"+this.TxtAlamat.getText()+"'," + "'"+this.TxtTelepon.getText()+"')"; try { //jalankan query tersebut LisensiDokumen: Copyright © 2008-2014 ilmuti.org Seluruhdokumen di ilmuti.orgdapatdigunakan, dimodifikasidandisebarkansecarabebasuntuktujuanbukankomersial (nonprofit), dengansyarattidakmenghapusataumerubahatributpenulisdanpernyataan copyright yang disertakandalamsetiapdokumen. Tidakdiperbolehkanmelakukanpenulisanulang, kecualimendapatkanijinterlebihdahuludariilmuti.org
PreparedStatement p2=(PreparedStatement) c.prepareStatement(sqlkode); p2.executeUpdate(); p2.close(); } catch (SQLException ex) { JOptionPane.showMessageDialog(this, "Terjadi kesalahan "+ex.getMessage()); } this.cmbAdd.setText("Add"); this.cmbEdit.setText("Edit"); this.cmbDelete.enable(true); this.cmbRefresh.enable(true); }else if("Update".equals(this.cmbAdd.getText())) {//bikin query update data String sqlkode="Update anggota SET `nama`='"+this.TxtNama.getText()+"'," + "`alamat`='"+this.TxtAlamat.getText()+"'," + "`tlp`='"+this.TxtTelepon.getText()+"' + "Where ID='"+this.lblKode.getText()+"'"; try { PreparedStatement p2=(PreparedStatement) c.prepareStatement(sqlkode); p2.executeUpdate(); p2.close(); } catch (SQLException ex) { JOptionPane.showMessageDialog(this, "Terjadi kesalahan "+ex.getMessage()); } this.cmbAdd.setText("Add"); this.cmbEdit.setText("Edit"); this.cmbDelete.enable(true); this.cmbRefresh.enable(true); }
LisensiDokumen: Copyright © 2008-2014 ilmuti.org Seluruhdokumen di ilmuti.orgdapatdigunakan, dimodifikasidandisebarkansecarabebasuntuktujuanbukankomersial (nonprofit), dengansyarattidakmenghapusataumerubahatributpenulisdanpernyataan copyright yang disertakandalamsetiapdokumen. Tidakdiperbolehkanmelakukanpenulisanulang, kecualimendapatkanijinterlebihdahuludariilmuti.org
Lalu action pada Button Edit if("Edit".equals(this.cmbEdit.getText())) { this.cmbAdd.setText("Update"); this.cmbEdit.setText("Cancel"); this.cmbDelete.enable(false); this.cmbRefresh.enable(false); }else if("Cancel".equals(this.cmbEdit.getText())) { this.cmbAdd.setText("Add"); this.cmbEdit.setText("Edit"); this.cmbDelete.enable(true); this.cmbRefresh.enable(true); }
Action klik Button Delete Connection c=buka_koneksi(); String sqlkode="Delete from anggota " + "Where ID='"+this.lblKode.getText()+"'"; try { PreparedStatement p2=(PreparedStatement) c.prepareStatement(sqlkode); p2.executeUpdate(); p2.close(); } catch (SQLException ex) { JOptionPane.showMessageDialog(this, "Terjadi kesalahan "+ex.getMessage()); }
LisensiDokumen: Copyright © 2008-2014 ilmuti.org Seluruhdokumen di ilmuti.orgdapatdigunakan, dimodifikasidandisebarkansecarabebasuntuktujuanbukankomersial (nonprofit), dengansyarattidakmenghapusataumerubahatributpenulisdanpernyataan copyright yang disertakandalamsetiapdokumen. Tidakdiperbolehkanmelakukanpenulisanulang, kecualimendapatkanijinterlebihdahuludariilmuti.org
Action Button Refresh ambil_data_tabel();
3. Function Panggil Database dan Function Penggunaan JTabel Buat function untuk memasukkan data ke JTabel private void ambil_data_tabel() { model.getDataVector().removeAllElements(); model.fireTableDataChanged(); try { Connection c=buka_koneksi(); Statement s= c.createStatement(); String sql="Select * from anggota"; ResultSet r=s.executeQuery(sql); while (r.next()) { Object[] o=new Object[4]; o[0]=r.getString("id"); o[1]=r.getString("nama"); o[2]=r.getString("alamat"); o[3]=r.getString("tlp"); model.addRow(o); } r.close(); s.close(); ambil_tabel_klik(); }catch(SQLException e) { System.out.println("Terjadi kesalahan "+e.getMessage()); } }
LisensiDokumen: Copyright © 2008-2014 ilmuti.org Seluruhdokumen di ilmuti.orgdapatdigunakan, dimodifikasidandisebarkansecarabebasuntuktujuanbukankomersial (nonprofit), dengansyarattidakmenghapusataumerubahatributpenulisdanpernyataan copyright yang disertakandalamsetiapdokumen. Tidakdiperbolehkanmelakukanpenulisanulang, kecualimendapatkanijinterlebihdahuludariilmuti.org
Buat function saat JTabel di klik private void ambil_tabel_klik() { int i=this.jTable1.getSelectedRow(); if(i==-1) { return; } String kode=(String) model.getValueAt(i, 0); this.lblKode.setText(kode); String nama=(String) model.getValueAt(i, 0); this.TxtNama.setText(nama); String alamat=(String) model.getValueAt(i, 1); this.TxtAlamat.setText(alamat); String tlp=(String) model.getValueAt(i, 2); this.TxtTelepon.setText(tlp); }
Lalu buat action JTabel saat di klik
LisensiDokumen: Copyright © 2008-2014 ilmuti.org Seluruhdokumen di ilmuti.orgdapatdigunakan, dimodifikasidandisebarkansecarabebasuntuktujuanbukankomersial (nonprofit), dengansyarattidakmenghapusataumerubahatributpenulisdanpernyataan copyright yang disertakandalamsetiapdokumen. Tidakdiperbolehkanmelakukanpenulisanulang, kecualimendapatkanijinterlebihdahuludariilmuti.org
Sisipkan code berikut pada action MouseClicked : this.ambil_tabel_klik();
Penutup Bila anda ingin langsung mencobanya tanpa ingin bersusah payah, silahkan download PROJECT JAVA nya di SINI. Extract Pada Directory Penyimpanan Project Java anda. Contoh : C:\Users\NAMA_USER_ANDA\Documents\NetBeansProjects\TESTDB
Referensi http://justandri.blogspot.com/2013/02/membuat-aplikasi-kalkulator-dengan.html
Biografi Sri Wahyuni, Lahir di
tangerang 25 july 1991 ,sedang menempuh pendidikan di
STMIK Raharja, sekian dan terimakasih
LisensiDokumen: Copyright © 2008-2014 ilmuti.org Seluruhdokumen di ilmuti.orgdapatdigunakan, dimodifikasidandisebarkansecarabebasuntuktujuanbukankomersial (nonprofit), dengansyarattidakmenghapusataumerubahatributpenulisdanpernyataan copyright yang disertakandalamsetiapdokumen. Tidakdiperbolehkanmelakukanpenulisanulang, kecualimendapatkanijinterlebihdahuludariilmuti.org