akses data secara universal dan independen dari bahasa pemrograman Java. Dengan
menggunakan JDBC API, Anda dapat mengakses berbagai sumber data, mulai dari
basis data (database) relasional, spreadsheet maupun flat file. Teknologi JDBC
menyedikan dasar umum dimana alat dan interface alternatif dapat dibangun. Untuk
menggunakan JDBC API dengan DBMS tertentu (misalnya MySQL, MS SQL Server
atau Oracle), diperlukan driver berbasis teknologi JDBC yang memediasi antara
teknologi JDBC dan basis data.
JDBC API terdiri dari sekumpulan kelas Java yang didalamnya terdapat metoda-
metoda (predefined methods) yang menangani berbagai macam fungsi pengaksesan
data seperti memilih driver dari basis data, melakukan koneksi ke basis data,
menyampaikan berbagai pernyataan SQL (SQL statemen) ke DBMS untuk dieksekusi
dan memproses hasil eksekusi (result set) yang dikembalikan oleh DBMS. Berikut ini
adalah penjelasan singkat dari empat kelas utama yang ada di dalam JDBC API
berkaitan dengan akses ke basis data:
Kelas DriverManager. Kelas ini memiliki peranan sangat penting yaitu menyediakan
cara mengelola driver basis data dari berbagai tipe. Peranan utamanya adalah memuat
semua driver yang ditemukan di System Property. Ketika sebuah koneksi ke basis
data dibuka, kelas DriverManager akan memilih driver yang paling tepat dari semua
driver-driver yang telah dimuat sebelumnya.
Kelas Connection. Ketika sebuah koneksi ke basis data dibuka, ini akan mewakili
sebuah obyek tunggal dari sesi basis data tersebut. Peranan kelas ini adalah mengelola
komunikasi antara program Java dan basis data. Selama koneksi masih terbuka,
pernyataan SQL dapat dieksekusi dan hasil eksekusi dapat diperoleh.
Kelas Statement. Kelas ini berperan meyampaikan pernyataan SQL ke DBMS untuk
dieksekusi dan kemudian menerima hasil eksekusi dari DBMS dalam bentuk result
set.
Kelas ResultSet. ResultSet adalah data yang diminta, hasil eksekusi pernyataan SQL
oleh DBMS. Data yang diminta, dikembalikan oleh DBMS dalam bentuk tabel. Kelas
ResultSet juga memiliki beberapa metoda yang dapat digunakan untuk mengakses,
menganalisa dan merubah data.
JDBC Driver dan Tipe
Sebuah program Java yang mengakses data di basis data harus menggunakan JDBC
driver yang khusus untuk basis data tersebut. Ketika sebuah perusahaan beralih dari
satu basis data ke basis data lain, maka program Java harus disesuaikan untuk
menggunakan JDBC driver yang khusus untuk basis data baru tersebut. Demikian
pula agar program Java dapat berinteraksi dengan basis data MySQL, harus
digunakan JDBC driver dari MySQL. MySQL JDBC Driver disebut juga dengan
MySQL Connector/J. Anda dapat mengunduh MySQL JDBC Driver terkini di situs
http://dev.mysql.com/downloads/connector/j. Gambar di bawah ini memberikan
gambaran hubungan antara program Java, JDBC API, JDBC Driver dan basis data
MySQL.
JDBC Driver Manager
JDBC API terdiri atas dua interface utama, yang pertama yaitu JDBC API untuk
penulis aplikasi, dan yang kedua yaitu lower-level JDBC driver API untuk penulis
driver. Teknologi driver JDBC dapat dibagi kedalam empat kategori:
4. Native-protocol Pure Java Driver Model driver ini mengkonversi JDBC call
langsung kedalam protokol network yang digunakan oleh DBMS, mengijinkan
direct call dari mesin klien ke server DBMS dan memberikan solusi praktis
untuk akses internet.
JDBC API (Application Programming Interface), yang menyediakan akses data secara
universal dan independent. Bekerja dengan JDBC secara umum adalah sebagai
berikut:
1. Load driver
Untuk mengaktifkan hubungan antar aplikasi dan database, maka sebuah Connection
harus debentuk dengan menggunakan JDBC Driver. Connection dibentuk melalui satu
class java.sql.DriverManager dan dua interface, yaitu java.sql.Driver dan
java.sql.Connection. Class untuk JDBC diakses melalui java.sql.*. Driver adaah
software yang menangani komunikasi ke database server. Berikut in adalah jika yang
kita gunakan adalah JDBC-ODBC driver.
try {
Class.forName(“sun.jdbc.odbc.JdbcDriver”);
System.err.println(“Driver Error”);
ex.printStackTrace();
System.exit(1);
Contoh :
Oracle :
Class.forName(“oracle.jdbc.OracleDriver”);
Sybase:
Class.forName(“com.sybase.jdbc.SybDriver”);
2. Mendefinisikan koneksi URL
3. Membuat koneksi
try{
……
catch(ClassNotFoundException ex) {
System.err.println(“Driver Error”);
ex.printStackTrace();
System.exit(1);
}
catch(SQLException ex) {
System.exit(1);
Obyek Statement digunakan untuk mengirim query dan perintah ke database. Obyek
statement dibuat dengan cara bekerjasama dengan class Connection. Untuk membuat
obyek Statement maka kita harus memangil method createStatement() dari
Connection.
Contoh:
5. Mengeksekusi query
Contoh:
ResultSet rs=statement.executeQuery(sql);
6. Memproses result
Untuk memproses result kita bisa menggunakan method next() pada objek ResultSet
untuk mendapatkan result per satu baris. Selama data masih ada method next() akan
mengembalikan nilai true dan jika sudah tidak ada akan mengembalikan nilai false.
Contoh:
String nrp;
String nama;
while (rs.next()){
nrp=rs.getString1);
( nama=rs.getString(2);
System.out.println(“NRP : ” +nrp);
System.out.println(“NAMA : ” +nama);
System.out.println(“————-“);
Kolom pertama mempunyai index 1 bukan 0. Objek ResultSet otomatis akan ditutup
bila ada objek ResultSet baru. ResultSet memberikan bermacam-macam method
getXxx() dengan parameter indek kolom atau nama kolom dan mengembalikan data.
Beberapa method yang ada pada ResultSet adalah sebagai berikut:
7. Menutup koneksi
Karena membuka koneksi adalah mahal, maka penundaan langkah terakhir ini hanya
jika masih ada operasi database yang dilakukan. Deklarasi untuk menutup koneksi
harus didefinisikan secara eksplisit dengan cara sebagai berikut:
connection.close();
1. Memuat Driver.
Driver sebuah basis data harus dimuat terlebih dahulu sebelum koneksi dibuat.
Setiap basis data berbeda memiliki driver yang berbeda dan driver yang
dimuat harus sesuai dengan basis data yang akan dikoneksi. Sebagaimana
contoh kode program di artikel Menampilkan Metadata Basis Data MySQL
Menggunakan JDBC, kelas driver untuk basis data MySQL adalah
com.mysql.jdbc.Driver. Untuk memuat driver basis data MySQL, Anda
menggunakan pernyataan di bawah ini.
Class.forName(“com.mysql.jdbc.Driver”);
2. Membuat statement.
4. Memproses ResultSet.
Result set adalah hasil eksekusi dari perintah SQL SELECT yang
dikembalikan ke program dalam bentuk tabel. Baris yang merupakan record
tabel, dapat diambil (retrieved). Posisi baris awal result set adalah null. Anda
dapat menggerakkan kursor untuk menuju ke record pertama, sebelumnya,
berikutnya dan record terakhir menggunakan metoda first, next, previous dan
last dari kelas ResultSet atau memproses lebih lanjut, misalnya mendapatkan
nilai setiap field dari record.