Sebelum membuat aplikasi, pertama buatlah sebuah Database dengan nama dbVisual dan sebuah tabel dengan nama tbmatkul, dengan struktur sbb :
Setelah membuat Database dan tabel di mysql, Langkah selanjutnya adalah mengkoneksikan Netbeans dengan database tsb.
Apabila langkah ini berhasil, maka Database telah siap untuk dioperasikan.
Pertama tambahkan library jdbc mysql kedalam project :
Klik kanan pada folder Libraries yang ada di dalam project, kemudian pilih AddLibrary.
Setelah itu akan muncul dialog AddLibrary seperti berikut
Cari library dengan nama MySQL JDBC Driver, kemudian klik satu kali lalu tekan tombol Add Library, maka library tersebut akan di tambahkan ke dalam project tersebut, seperti gambar berikut :
Setelah berhasil melakukan penambahan Library MySQL JDBC Driver kedalam project berhasil, langkah berikutnya adalah melakukan operasi ke database dan objek database.
Pertama, buatlah sebuah prosedur koneksi di dalam kelas utama, sbb :
Perhatikan cara koneksi pada prosedur statusKoneksi berikut ini :
private void statusKoneksi(){
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
JOptionPane.showMessageDialog(null, "Koneksi Sukses");
}catch(Exception e){
JOptionPane.showMessageDialog(null, "Koneksi Gagal, Karena "+e.getMessage()+
" tidak ada!!!");
System.exit(0);
}
}
prosedur statusKoneksi() ini, adalah prosedur yang akan dijalankan sekali saja yakni ketika form pertama kali dijalankan. Artinya sekali saja database berhasil terkoneksi, maka selama aplikasi berjalan, database dan objek–objeknya siap dioperasikan.
pada baris :
Class.forName("com.mysql.jdbc.Driver").newInstance();
Program menyatakan bahwa driver yang digunakan adalah JDBC, apabila driver yang digunakan selain JDBC, tentu saja baris tsb harus diubah.
pada baris :
catch(Exception e)
Program menyatakan bahwa apabila terjadi kesalahan sewaktu hendak melakukan koneksi ke driver yang digunakan (JDBC), maka kesalahan tersebut akan bisa di tangkap dan kemudian menjalan baris perintah yang ada di dalam blok catch tersebut. Kesalahan ini terjadi karena beberapa hal, misal: filenya tidak ada , driver rusak, DSN terhapus, instance Database belum dinyalakan, dsb.
Setelah prosedur koneksi berhasil, maka langkah selanjutnya membuat operasi ke database dan objek yang ada di dalam database yaitu tabel.
Operasi Data yang dilakukan pada tabel berupa :
Melihat/mencari/memilih data pada tabel / view (SELECT)
Menambah data pada tabel (INSERT INTO)
Mengubah data pada tabel (UPDATE)
Menghapus data pada tabel. (DELETE)
Untuk mencoba koneksi ke database dan Objek database (dalam hal ini; tabel). Terdapat beberapa hal/perintah yang perlu diperhatikan.
import java.sql.*;
semua perintah yang berkaitan dengan koneksi dan operasi database, sebaiknya mengimport class java.sql.*; tsb
Class Connection
Class inilah yang akan mengatur koneksi ke Driver yang diinginkan, biasanya berupa URL ke Drive/JDBC serta nama User dan passwordnya.
Class Statement
Class yang mengatur Statement SQL yang akan dijalankan.
ResultSet
Kumpulan data hasil dari perintah SQL (SELECT), sehingga apabila perintah SELECT tsb berhasil mendapatkan data, ResultSet akan berisi data-data tsb.
Berikut ini contoh penggunaan perintah-perintah diatas :
//awal pembuatan nama variabel
Connection connection;
Statement statement;
ResultSet resultSet;
String query;
String url = "jdbc:mysql://localhost:3306/dbVisual";
String username = "root";
String password = "";
DefaultTableModel model;
//akhir pembuatan nama variabel
query = "select * from tbmatkul";
try{
connection = DriverManager.getConnection(url, username, password);
statement = connection.createStatement();
resultSet = statement.executeQuery(query);
while(resultSet.next()){
model.addRow(new Object[]{resultSet.getString(1),resultSet.getString(2),
resultSet.getString(3),resultSet.getInt(4)});
}
statement.close();
connection.close();
}catch(SQLException e){
JOptionPane.showMessageDialog(null, "Lihat Data Error di "+e.getSQLState());
}
Keterangan :
String url = "jdbc:mysql://localhost:3306/dbVisual";
URL atau tujuan dari koneksi database, adalah ke Driver JDBC yang nama DSN-nya adalah localhost dan port yang di akses adalah 3306, sedangkan dbVisual adalah nama databasenya.
query = "select * from tbmatkul";
Menyatakan komputer harus mencari dan mendapatkan semua data pada kolom yang ada pada tabel tbmatkul.
connection = DriverManager.getConnection(url, username, password);
baris inilah yang menyatakan koneksi ke Driver database , dengan
URL = " jdbc:mysql://localhost:3306/dbVisual "
username =”root” (default user dari MySQL),
password =”” (tidak ada)
Catatan :
baris connection = DriverManager.getConnection(url, username, password); tsb. hanya akan digunakan apabila mencoba koneksi ke database.
statement = connection.createStatement();
Menyatakan statement SQL nanti, akan berlaku pada koneksi yang telah berhasil dibuat.
resultSet = statement.executeQuery(query);
karena query berupa SELECT, tentunya terdapat data yang akan dikembalikan / tidak.
Apabila tidak terdapat data , maka resultSet bernilai null, apabila terdapat data, maka resultSet akan berisi data-data tersebut, dalam hal ini semua data pada kolom yang ada pada tabel tbmatkul
Keterangan :
executeQuery(query);
Digunakan untuk perintah SQL yang berupa SELECT, karena mengembalikan data-data hasil Query.
executeUpdate(query);
Digunakan untuk perintah SQL yang berupa INSERT INTO, UPDATE DAN DELETE karena hanya mengerjakan perintah, tanpa mengembalikan data-data hasil Query.
Contoh Aplikasi :
Terdapat satu form dengan Jpanel, 3 Jtextfield(txtKode,txtNama dan txtJumlah), 1 JcomboBox (cbJenis), 4 Jbutton(bSimpan,bUbah,bHapus,bBersih) dan 1 Jtable(tabel) untuk Jtablenya sdh satu paket dengan JscrollPane.
Apabila koneksi berhasil maka akan muncul pesan koneksi berhasil, apabila gagal , maka akan muncul koneksi gagal dan ditambah dengan penyebab kegagalan koneksi.
Apabila koneksi berhasil dan tombol OK pada pesan ditekan, maka formUtama akan keluar dan tabel pada form akan berisi data yang ada pada tbmatkul.