Anda di halaman 1dari 10

 JDBC API adalah Application Programming Interface (API) Java yang menyediakan

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

Merupakan komponen kelas utama yang mendefinisikan object yang mengkoneksikan


aplikasi Java ke JDBC driver. Komponen ini berfungsi untuk mengatur beberapa tipe
JDBC database driver yang berbeda. JDBC Driver Manager memilih driver mana
yang sesuai untuk koneksi ke suatu database.

 Tipe-tipe Driver JDBC

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:

1. JDBC-ODBC Bridge plus ODBC Driver Kombinasi ini menghasilkan akses


JDBC melalui driver ODBC. Menjembatani antara aplikasi Java dengan
Microsoft ODBC. Tipe driver ini paling cocok untuk jaringan korporat dimana
instalasi klien bukan masalah besar, atau untuk aplikasi server yang ditulis
dalam bahasa Java dalam arsitertur 3-tier.

2. Native API party Java technology-enabled driver Tipe driver ini


mengkonversi JDBC call ke dalam client API untyk Oracle, Sybase, Informix,
DB2, dan DBMS yang lain. Tipe ini memerlukan kode binary yang spesifik
terhadap sistem operasi yang di-load kedalam masing-masing klien.

3. Pure Java Driver for Database Middleware (JDBC-Net)


Model driver ini menerjemahkan JDBC call kedalam protokol middleware
vendor, yang kemudian diterjemahkan ke protokol DBMS oleh server
middleware. Middleware menyediakan konektifitas ke berbagai jenis database
yang berbeda.

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.

Tipe data JDBC

 Istilah Universal dalam JDBC

JDBC API (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.
 Penggunaan JDBC pada Java

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”);

catch (ClassNotFoundException ex) {

System.err.println(“Driver Error”);

ex.printStackTrace();

System.exit(1);

Penggunaan Class akan throw ClassNotFoundException. Dokumentasi driver anda


akan memberikan nama class yang digunakan.

Contoh :

Oracle :

Class.forName(“oracle.jdbc.OracleDriver”);

Sybase:

Class.forName(“com.sybase.jdbc.SybDriver”);

 
2. Mendefinisikan koneksi URL

Menspesifikasikan lokasi database server. Untuk mendefinisikan URL kita bisa


menggunakan dokumentasi driver. Untuk penggunaan JDBC di applet maka database
server harus berada pada node yang sama dengan letak applet dan menggunakan
proxy server yang me “reroute” request database ke actual server. Berikut ini contoh
mendefinisikan url:

3. Membuat koneksi

Membuat koneksi bisa dilakukan dengan cara memanggil method getConnection()


dari DriverManager dengan melewatkan URL sebagai argumen. Method
getConnection() akan melempar SQLException. Contoh:

Akses ke Driver dan DriverMAnager dapat menyebabkan Exception yang harus


dikendalikan oleh program. Misal:

try{

……

catch(ClassNotFoundException ex) {

System.err.println(“Driver Error”);

ex.printStackTrace();

System.exit(1);

}
catch(SQLException ex) {

System.err.println(“Tidak Berhasil Koneksi dengan Northwind”);

System.exit(1);

4. Membuat obyek statement

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:

Statement statement = connection.createStatement();

5. Mengeksekusi query

Untuk mengeksekusi query kita bisa memanfaatkan objek Statement untuk


memproses hasil query. Caranya adalah dengan memanggil method executeQuery()
dari objek Statement. Method executeQuery() akan mengembalikan nilai yang bertipe
ResulSet.

Contoh:

String sql=“select col1, col2, col3 from sometable”;

ResultSet rs=statement.executeQuery(sql);

Untuk memodifikasi database, gunakan statement.executeUpdate(sql); yang


mendukung string sql UPDATE, INSERT INTO, DELETE

 
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:

– findColumn() untuk mendapatkan index (integer value) berdasarkan nama kolom.

– getMetaData() untuk meretrieve informasi mengenai ResultSet, returns object


ResultSetMetaData.

– wasNull() untuk mengetahui apakah getXxx() menghasilkan SQL null.

 
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();

 Tahapan Mengakses Dan Memanipulasi Database MySQL Di Java


Untuk membuat aplikasi basis data (database application) menggunakan bahasa Java,
diperlukan tahapan (langkah-langkah) untuk dapat mengakses data di sebuah basis
data. Anda perlu memuat driver dari basis data, melakukan koneksi ke basis data,
mengeksekusi query SQL melalui obyek statemen dan memanipulasi data di basis
data melalui obyek resultset. Berikut ini adalah penjelasan singkat tahapan yang diperlukan
untuk mengakses dan memanipulasi data di basis data menggunakan bahasa pemrograman
Java:

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.

Fungsi obyek kelas Statement adalah mengantarkan perintah SQL (DDL


maupun DML) untuk dieksekusi oleh basis data dan kemudian membawa
kembali hasil eksekusi berupa result set ke program. Anda dapat menggunakan
pernyataan di bawah ini untuk membuat statement.

     Statement stmt = con.createStatement();


3. Mengeksekusi statement.

Perintah SQL jenis DDL dapat dieksekusi menggunakan metoda


executeUpdate(String sql) dan perintah SQL jenis DML dapat dieksekusi
menggunakan metoda executeQuery(String sql). Eksekusi perintah SQL
SELECT (jenis DML) akan menghasilkan baris record yang oleh DBMS akan
dikembalikan lagi kepada program. Hasil eksekusi dari perintah SELECT
disebut dengan result set yang merupakan obyek dari kelas ResultSet.

     ResultSet rSet = stmt.executeQuery(“select * from penerbit”);

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.

Anda mungkin juga menyukai