Page Nav

HIDE

Grid

GRID_STYLE

Breaking News

latest

Mengkoneksikan Java Netbeans dengan Database di MySQL via XAMPP

Rekomendasi : jika baru mengenal IDE Java Netbeans, buat file yang sesuai dengan TUTORIAL ini. Kita akan membuat Koneksi dan Impleme...



Rekomendasi : jika baru mengenal IDE Java Netbeans, buat file yang sesuai dengan TUTORIAL ini.

Kita akan membuat Koneksi dan Implementasi Fungsi (INSERT, UPDATE, DELETE) Java Netbeans dengan Database MySQL di XAMPP.

Buatlah sebuah DATABASE dengan XAMPP dengan nama "belajar" dan bikin tabel anggota, berikut struktur tabelnya :
id int(10)
nama varchar(30)
alamat varchar(40)
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 >

Klik Finish

Saya membuat project dengan nama Tes Database dan Form FormKoneksi 


Lalu klik 2x pada FormKoneksi buatlah interface form nya seperti ini :

Drag Drop JLabel,JTextField,JTable dan JButton. Ubah Nama Variable Control dengan mengklik kanan pada control dan pilih Change Variable



Berikut langkah yang sudah saya susun :

1. Buat Koneksi Database

Add JAR Library MySQL

Klik Add Library

Buka form dengan mengklik 2x pada FormKoneksi yang telah anda buat tadi, lalu klik tab Source.

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");

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

Maka anda langsung melihat mode source pada aksi Event klik Button Add
Buat kode berikut :

Connection c=buka_koneksi(); //panggil function koneksi

  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

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

 }

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

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

  }

}
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 

Sisipkan code berikut pada action MouseClicked :

this.ambil_tabel_klik();
=====
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

SEKIAN dan TERIMA KASIH
=====

Sumber

1 komentar

  1. sorry sebelumnya min, sy sudah mencoba untuk run file hasil coding mimin yang TESTDB. tapi hasilnya sendiri error, apa bisa di cek kembali?

    BalasHapus