Aplikasi ini membuat CRUD (create, read, update, delete) sederhana menggunakan Java NetBeans dan basis data MySQL. Aplikasi ini menampilkan data dari database ke tabel dan memungkinkan pengguna menambah, memperbarui, dan menghapus data dengan mengeksekusi perintah SQL.
1. -1-
Aplikasi CRUD Java Sederhana Menggunakan
Database MySQL
Ditulis oleh Harison Matondang, dipublikasi pada 21 Jan 2019 dalam kategori Tutorial
Bagaimana cara membuat aplikasi CRUD (Create, Read, Update, Delete) sederhana menggunakan
NetBeans IDE dan dengan koneksi database MySQL JDBC driver? dalam tutorial ini penulis akan
mencoba menjelaskan tentang pembuatan aplikasi CRUD java seperti pertanyaan diatas, penjelasan
sederhana mengenai aplikasi yang akan dibuat adalah dimana aplikasi nantinya akan melakukan
koneksi ke database MySQL menggunakan koneksi ODBC driver dan mengeksekusi query yang
diperintahkan oleh user untuk menampilkan data dengan perintah Select, mengupdate dengan perintah
SQL update, menambah data dengan perintah Insert dan untuk menghapus data dengan perintah Delete.
Dalam pembuatan aplikasi CRUD sederhana ini diwajibkan sebelumnya kamu harus sudah membuat
sebuah database MySQL, dan penulis tidak akan membahas cara membuat database dalam tutorial ini
dan mari kita mulai tutorialnya.
Membuat Project baru Java NetBeans
Buka aplikasi NetBeans IDE dan buat project baru dengan cara klik New Project > Java > Java
Application > Next > dan buat nama project "AplikasiCrud" > finish . untuk nama project bisa diganti
sesuai kebutuhan.
Setelah project dibuat, secara default akan otomatis membuat Main Class dari project dengan nama
sesuai nama project java kita, silahkan hapus terlebih dahulu (AplikasiCrud.java). kita akan membuat
Form baru dengan JFrame dimana berfungsi untuk menampilkan seluruh data dan interface antara user
dan database.
Membuat Form Baru Jframe (FrmUtama.Java)
Buatlah Form baru dengan cara klik kanan pada source package AplikasiCrud > New > Jframe >
tuliskan nama form baru dengan nama "FrmUtama.java" dan > Finish. serta desainlah tampilan
FrmUtama.java dengan menambahkan text box sebanyak 6 buah serta sebuah table dimana digunakan
untuk input field ID, Nama, NIK, Jabatan, No hp, dan Alamat. Pokoknya sesuaikan saja dengan
kebutuhan
Bio
2. -2-
Membuat Class Koneksi Database MySQL
Buatlah class baru dengan nama "koneksi.java". Sebelum memulai menuliskan code untuk koneksi java
silahkan tambahkan library JDBCdriver ke dalam project dengan cara Klik kanan pada Libraries >
ADD Jar / Folder dan pilih file MySQL JDBC Driver yang bisa kamu download di situs resminya
https://dev.mysql.com/downloads/connector/j/
Tuliskan code java untuk class koneksi.java berikut ini :
package delta; // nama package sesuai dengan nama project
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.swing.JOptionPane;
public class koneksi { // koneksi ke database
private static Connection mysqlkonek;
public static Connection koneksiDB() throws SQLException {
if(mysqlkonek==null){
try {
String DB="jdbc:mysql://localhost:3306/delta_db"; // delta_db
database
String user="root"; // user database
String pass=""; // password database
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
mysqlkonek = (Connection)
DriverManager.getConnection(DB,user,pass);
} catch (Exception e) {
JOptionPane.showMessageDialog(null,"gagal koneksi");
}
}
return mysqlkonek;
}
}
Membangun Komponen
Source Code Tombol New
Sebelum menuliskan code pada sub yang lain, silahkan import namespace yang dibutuhkan,
import java.awt.HeadlessException;
import java.sql.Connection;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import net.proteanit.sql.DbUtils;
dan deklarasikan variable "databaru" dibawah class FrmUtama.java
public boolean databaru;
Selanjutnya langsung saja tuliskan code berikut pada tombol new
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
databaru=true;
// mengosongkan textbox
jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");
jTextField4.setText("");
jTextField5.setText("");
jTextField6.setText("");
}
Berfungsi untuk mengosongkan seluruh TextField dan mendeklarasikan databaru menjadi true.
3. -3-
Function GetData (menampilkan data ke JTable)
private void GetData(){ // menampilkan data dari database
try {
Connection conn =(Connection)delta.koneksi.koneksiDB();
java.sql.Statement stm = conn.createStatement();
java.sql.ResultSet sql = stm.executeQuery("select * from karyawan");
jTable1.setModel(DbUtils.resultSetToTableModel(sql));
}
catch (SQLException e) {
}
}
Source Code Tombol Save
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if (databaru == true) { // prosess simpan atau edit
try {
String sql = "insert into karyawan
values('"+jTextField1.getText()+"','"+jTextField2.getText()+"','"+jTextField3.getTe
xt()+"','"+jTextField4.getText()+"','"+jTextField5.getText()+"','"+jTextField6.getT
ext()+"')";
java.sql.Connection conn =
(java.sql.Connection)delta.koneksi.koneksiDB();
java.sql.PreparedStatement pst = conn.prepareStatement(sql);
pst.execute();
JOptionPane.showMessageDialog(null, "berhasil disimpan");
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e);
}
} else {
try {
String sql = "update karyawan SET
nama_karyawan='"+jTextField2.getText()+"',nik='"+jTextField3.getText()+"',jabatan='
"+jTextField4.getText()+"',no_telphone='"+jTextField5.getText()+"',alamat='"+jTextF
ield6.getText()+"' where id_karyawan='"+jTextField1.getText()+"'";
java.sql.Connection conn =
(java.sql.Connection)delta.koneksi.koneksiDB();
java.sql.PreparedStatement pst = conn.prepareStatement(sql);
pst.execute();
JOptionPane.showMessageDialog(null, "berhasil disimpan");
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e);
}
}
GetData();
}
Source Code Tombol Delete
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try { // hapus data
String sql ="delete from karyawan where
id_karyawan='"+jTextField1.getText()+"'";
java.sql.Connection conn = (java.sql.Connection)delta.koneksi.koneksiDB();
java.sql.PreparedStatement pst = conn.prepareStatement(sql);
pst.execute();
JOptionPane.showMessageDialog(null, "Data akan dihapus?");
databaru=true;
jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");
jTextField4.setText("");
jTextField5.setText("");
jTextField6.setText("");
} catch (SQLException e) {}
GetData();
}
4. -4-
Source Code Form Load Form Utama
public FrmUtama() {
initComponents();
GetData(); // tampilkan ke grid
databaru=true;
}
Source Code Event JTable
private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
databaru = false; // menampilkan data ke textboxt
try {
int row =jTable1.getSelectedRow();
String tabel_klik=(jTable1.getModel().getValueAt(row, 0).toString());
java.sql.Connection conn =(java.sql.Connection)delta.koneksi.koneksiDB();
java.sql.Statement stm = conn.createStatement();
java.sql.ResultSet sql = stm.executeQuery("select * from karyawan where
id_karyawan='"+tabel_klik+"'");
if(sql.next()){
String id = sql.getString("id_karyawan");
jTextField1.setText(id);
String nama = sql.getString("nama_karyawan");
jTextField2.setText(nama);
String nik = sql.getString("nik");
jTextField3.setText(nik);
String jabatan = sql.getString("jabatan");
jTextField4.setText(jabatan);
String no_telp = sql.getString("no_telphone");
jTextField5.setText(no_telp);
String alamat = sql.getString("alamat");
jTextField6.setText(alamat);
}
} catch (Exception e) {}
}
Source Code Tombol Exit
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
System.exit(0); // keluar
}
Selamat mencoba.