Java Database Connectivity (JDBC) Java Database Connectivity (JDBC) merupakan API yang digunakan untuk mengkoneksikan aplikasi Java dengan DBMS, baik itu MySQL, Oracle, Microsoft ODBC dan DBMS lainnya. Dalam modul ini akan digunakan MySQL sebagai DBMSnya. Langkah-langkah: 1.
Buatlah sebuah database dengan nama db_karyawan (pada pembahasan ini digunakan MySQL Query browser).
Gambar 1 Database db_karyawan
2.
Buatlah tabel dengan nama tkaryawan, dengan field nip (varchar (9) PK), nama (varchar (45)), alamat (varchar (45)), dan telepon (varchar (15)).
Gambar 2 Tabel tkaryawan
3.
Masukkan beberapa data.
Gambar 3 Mengisi Data Pada MySQL Query Browser
4.
Selanjutnya buat sebuah Java Application dengan Netbeans.
Gambar 4 Membuat Project Java Application
5.
Tambahkan library MySQL JDBC Connector ke dalam library aplikasi. Klik kanan Libraries – Add Library dan pilih MySQL JDBC Driver lalu klik Add Library
Gambar 5 Menambahkan Library MySQL JDBC Driver
6.
Setelah ditambahkan, makan library MySQL JDBC Driver akan muncul pada folder Libraries dalam aplikasi.
Gambar 6 MySQL JDBC Driver Telah Ditambahkan
7.
Selanjutnya buatlah kelas dengan nama MyConnection.java dan letakkan kelas ini pada package db.
Gambar 7 Membuat Kelas MyConnection
Kemudian tambahkan Kode Program 1 pada kelas MyConnection. Kode Program 1 Perintah Koneksi ke Database package db; import com.mysql.jdbc.jdbc2.optional.MysqlDataSource; import java.sql.Connection; public class MyConnection { public Connection con = null; public Connection getConnection() { try { MysqlDataSource msds = new MysqlDataSource(); msds.setServerName("localhost"); msds.setPort(3306); msds.setUser("root"); msds.setPassword("admin"); msds.setDatabaseName("db_karyawan"); con = msds.getConnection(); } catch (Exception e) { e.printStackTrace(); } return con; } }
Kode Program 1 merupakan perintah yang digunakan untuk melakukan koneksi aplikasi Java dengan database MySQL (sesuaikan port, user dan password database). 8.
Langkah selanjutnya adalah menambahkan sebuah kelas dengan nama Karyawan.java sebagai entitas, atau model dari tabel yang digunakan. Jangan lupa
tambahkan enkapsulasi dari atribut yang ada (letakkan kelas Karyawan.java pada package model).
Gambar 8 Membuat Kelas Karyawan Kode Program 2 Kelas Karyawan.java package model; public class Karyawan { private private private private
String String String String
nip; nama; alamat; telepon;
public String getAlamat() { return alamat; } public void setAlamat(String alamat) { this.alamat = alamat; } public String getNama() { return nama; } public void setNama(String nama) { this.nama = nama; } public String getNip() { return nip; } public void setNip(String nip) { this.nip = nip; } public String getTelepon() { return telepon; } public void setTelepon(String telepon) { this.telepon = telepon; } }
Kode Program 2 merupakan perintah pembuatan atribut yang dimiliki oleh entitas karyawan yang meliputi nip, nama, alamat dan telepon dengan tipe data String. Kemudian atribut-atribut tersebut dilakukan enkapsulasi melalui getter dan setter. 9.
Selanjutnya buatlah kelas dengan nama KaryawanDAO.java dan letakkan pada package dao. Kelas ini merupakan kelas yang diciptakan untuk mengakses atau mengolah data dari database.
Gambar 9 Membuat Kelas KaryawanDAO
Selanjutnya tambahkan Kode Program 3 pada kelas KaryawanDAO. Kode Program 3 Perintah pada Kelas KaryawanDAO public class KaryawanDAO { private Connection connection = null; public KaryawanDAO() { this.connection = new MyConnection().getConnection(); } public void getDataKaryawan() { try { PreparedStatement stm = connection.prepareStatement("SELECT tkaryawan order by nip ASC"); ResultSet rs = stm.executeQuery(); while (rs.next()) { String nip = rs.getString("nip"); String nama = rs.getString("nama"); String alamat = rs.getString("alamat"); String telepon = rs.getString("telepon");
*
FROM
System.out.println("NIP = " + nip); System.out.println("Nama = " + nama); System.out.println("Alamat = " + alamat); System.out.println("Telepon = " + telepon); System.out.println("---------------------------------"); } } catch (Exception e) { e.printStackTrace(); } } }
Pada Kode Program 3 terdapat method KaryawanDAO dan getDataKaryawan. Metod KaryawanDAO adalah konstruktor yang digunakan untuk memanggil koneksi ke database saat obyek dari kelas KaryawanDAO dibuat. Method getDataKaryawan digunakan untuk mengambil data karyawan dari tabel tkaryawan. 10. Selanjutnya untuk menampilkan data hasil select dari database, buatlah sebuah kelas dengan nama Testing.java dan letakkan pada package tes. Kemudian tambahkan Kode Program 4.
Kode Program 4 Perintah pada Kelas Testing.java package test; import dao.KaryawanDAO; public class Testing { public static void main(String[] args) { KaryawanDAO karyawan = new KaryawanDAO(); karyawan.getDataKaryawan(); } }
Jalankan kelas Testing.java dan akan muncul tampilan data hasil select dari tabel tkaryawan.
Gambar 10 Tampilan Data Hasil Select
11. Selanjutnya, tambahkan sebuah method pada kelas KaryawanDAO.java dengan nama insertKaryawan. Tambahkan Kode Program 5. Kode Program 5 Perintah pada Method insertKaryawan public String insertKaryawan(Karyawan k){ String status = "Gagal Insert Data Karyawan"; try { PreparedStatement stm = connection.prepareStatement("INSERT tkaryawan VALUE(?,?,?,?)"); stm.setString(1, k.getNip()); stm.setString(2, k.getNama()); stm.setString(3, k.getAlamat()); stm.setString(4, k.getTelepon()); stm.executeUpdate(); status = "Data Karyawan Berhasil Disimpan"; } catch (Exception e) { e.printStackTrace(); } return status; }
Pada kelas Testing.java tambahkan Kode Program 6. Kode Program 6 Perintah Insert Data Karyawan public static void main(String[] args) { KaryawanDAO karyawan = new KaryawanDAO(); Karyawan k = new Karyawan(); k.setNip("6003"); k.setNama("Karno"); k.setAlamat("Solo"); k.setTelepon("0822512345"); String status = karyawan.insertKaryawan(k); System.out.println(status); karyawan.getDataKaryawan(); }
INTO
Jalankan kelas Testing.java dan data akan ditambahkan ke dalam tabel tkaryawan dan kemudian akan ditampilkan pada console.
Gambar 11 Data Berhasil Ditambahkan
LATIHAN: 1. Modifikasilah contoh di atas dengan menambahkan Swing, sehingga user dapat menginputkan data melalui tampilan berbasis windows. 2. Tambahkan method untuk melakukan update data karyawan dalam tabel tkaryawan, kemudian lakukan pengubahan salah satu data karyawan melalui kelas Testing, kemudian tampilkan datanya melalui console! 3. Tambahkan method untuk menghapus data karyawan dalam tabel tkaryawan kemudian hapus salah satu data karyawan melalui kelas Testing, kemudian tampilkan datanya melalui console!