Akses Database Menggunakan JDBC
Dalam bab ini kita akan membicarakan tentang
akses database menggunakan JDBC, cara penggunannya mulai dari membuka koneksi
sampai melakukan operasi baca, tulis, dan hapus data dari database. Bahkan
menggunakan interface dari yang sederhana sampai yang kompleks
admin adalah
password dari account MySQL tersebut
Design sederhana bertujuan untuk memudahkan
pemahaman, se-dangkan design interface yang kompleks agar bisa menampilkan data
dalam bentuk yang lebih menarik dan bisa seperti pada aplikasi yang profesional
Pemahaman JDBC ini adalah mutlak diperlukan bagi
seorang programmer database, jika ingin bekerja dengan Java. Sebagai gambaran
saja, jika programmer membuat aplikasi database dengan semisal visual basic/PHP
dengan database SQL Server atau MySQL, apakah program tersebut bisa diganti
databasenya dengan yang lain semisal Postgree atau Oracle. Dalam hal ini JDBC
mampu membuat aplikasi bisa berjalan di atas semua sistem database, hanya cukup
dengan memasang driver JDBC dari database tersebut
Mengenal JDBC
JDBC adalah
sebuah nama dari sebuah produk yang ada dalam Java, atau yang dikenal
sebagian orang sebagai Java Database Connectivity, seperti
dokumentasi yang dikeluarkan oleh Sun Microsystem sendiri dalam situs
resminya. Sebenarnya lengkapnya adalah JDBC API yaitu Application
Programming Interface, yang menyediakan akses data secara universal dan
independent. Bekerja dengan JDBC secara umum adalah sebagai berikut
Me-load JDBC Driver ke dalam JVM.
Membuat koneksi ke database yang
direpresentasikan sebagai objek java.sql.Connection
Membuat objek java.sql.Statement yang
akan digunakan untuk mengirimkan perintah SQL ke database
Menjalankan metode yang bersesuaian dari objek java.sql.Statement,
seperti executeQuery() untuk membaca atau executeUpdate()
untuk menulis ke tabel
Menjalankan metode yang bersesuaian dari objek java.sql.Statement,
seperti executeQuery() untuk membaca atau executeUpdate()
untuk menulis ke tabel
Kelas untuk Mengakses Database
Java menyiapkan paket khusus untuk menyimpan
kelas-kelas yang terlibat dalam operasi akses database, yaitu dalam paket java.sql.
Seperti yang Anda ketahui sebelumnya bahwa perlu ada beberapa tahapan agar bisa
melakukan operasi ke dalam database, antara lain pengenalan dirver, pembuatan
koneksi/hubungan, statement/ perintah SQL baru, kemudian operasi baca dengan
excecuteQuery ataupun operasi tulis dengan executeUpdate(). Setiap tahap dan
pekerjaan yang berbeda-beda tersebut dilakukan oleh kelas yang berbeda, mulai
dari DriverManager, Connection, Statement, PreparedStatement, Resulset
DriverManager
DriverManager adalah
kelas untuk manajemen driver, seperti yang Anda ketahui bahwa untuk bisa
mengakses database diperlukan sebuah driver JDBC. Untuk itu file driver
tersebut harus ada, dan terpasang dalam kelas path dalam program
kerjanya. Untuk memastikan sebuah driver sudah terpasang atau belum, bisa
digunakan objek Class untuk mengidentifikasinya, seperti berikut
try {
Class.forName("com.mysql.jdbc.Driver");
System.out.println("jdbc.Driver :
OK");
}
catch(ClassNotFoundException e) {
System.out.println("Kelas: jdbc.Driver
tidak ada");
}
Jika program tersebut dijalankan, akan
menghasilkan pesan “jdbc.Driver : OK”,
bila dalam project Anda sudah terpasang classpath untuk driver MySQL.
Akan tetapi, program akan menampilkan pesan “Kelas:
jdbc.Driver tidak ada” bila direktori kerja Anda tidak mengenali path
dari Driver tersebut, walaupun dalam komputer Anda sudah ada filenya, ataupun
dalam editor sudah terpasang dalam lingkungan library
Dalam aplikasinya, Anda tidak mesti memberikan
operasi penge-cekan driver ini, karena hanya untuk melakukan trace jika
terjadi kesalahan, agar diketahui penyebabnya saja
Objek DriverManager ini bisa menghasilkan
sebuah koneksi melalui metode getConnction(), dengan menyertakan URL
sebagai para-meternya. Adapun penulisannya menggunakan titik dua (:), seperti
contoh
jdbc:mysql://localhost/db_akademik?user=root&password=admin
Berikut ini penjelasannya.
jdbc:mysql adalah nama drivernya.
localhost adalah nama hostname (komputer
address).
db_akademik adalah nama databasenya.
root adalah nama account user MySQL.