Pengertian
JDBC (Java
database connectivity) adalah spesifikasi standar dari JavaSoft API
(Aplication Programming Interface) yang memungkinkan program Java untuk
mengakses sistem database manajemen. JDBC menyediakan methods untuk
melakukan query dan modifikasi data pada RDBMS seperti Oracle, SQL Server,
MySQL, dll menggunakan Driver Manager. JDBC mirip dengan ODBC (Open
Database Connectivity), hanya saja JDBC spesifik digunakan untuk program Java.
ODBC bersifat language independent.
JDBC memiliki beberapa kegunaan, yaitu membantu
programmer untuk koneksi dengan data source, membantu mengirimkan query
dan update statements ke database, dan menerima serta memroses hasil yang
didapatkan dari database sesuai dengan query yang diberikan.
EMPAT KOMPONEN PENTING DARI JDBC :
1. JDBC-API
JDBC-API
menyediakan fasilitas untuk mengakses database relasional dari program
berbahasa Java. Melalui komponen ini user dapat melakukan proses query dan
perubahan data dalam database. JDBC-API memiliki package utama yang
tersedia pada java.sql dan javax.sql.
2. 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.
3. JDBC Test Suite
Komponen
ketiga ini memastikan JDBC driver dapat menjalankan program user dan sangat
berguna dalam melakukan testing sebuah aplikasi yang menggunakan teknologi
JDBC.
4. JDBC-ODBC Bridge
Adalah
database driver yang menggunakan ODBC driver untuk koneksi ke database serta
memiliki fungsi utama untuk translasi dari JDBC method calls ke ODBC function
calls dan mengimplementasikan JDBC untuk semua driver yang didukung oleh ODBC.
Komponen ini dapat diimplementasikan dalam package sun.jdbc.odbc.
JDBC MEMILIKI 10 ARSITEKTUR, YAITU :
1. Database connections
2. SQL Statements
3. Result set
4. Database metadata
5. Prepared Statement
6. Binary Large Objects (BLOBs)
7. Character Large Objects (CLOBs)
8. Callable statements
9. Database Driver
10. Driver Manager
Tipe 1 – JDBC-ODBC Bridge
§
Fungsi
-
Translasi query dari JDBC ke ODBC query
-
Client à JDBC Driver à ODBC Driver à Database
§
Keunggulan
-
Semua database yang didukung oleh ODBC dapat diakses
§
Kelemahan
- Performance overhead
-
ODBC driver harus diinstal di semua client
-
Dibutuhkan client-side software
Tipe 2 – Java to Native API
§
Fungsi
-
Konversi JDBC calls ke client API untuk database
-
Client à JDBC driver à Vendor Client DB Library à Database
§
Keunggulan
-
Performa lebih baik daripada tipe 1
§
Kelemahan
-
Vendor client library harus diinstal di client.
-
Tidak dapat digunakan di internet karena membutuhkan client-side software.
-
Tidak semua database memberikan client-side library
Tipe 3 – Java to Network Protocol or All-Java Driver
§
Fungsi
-
Menggunakan pendekatan three-tier communication
-
Vendor independent
-
Client à JDBC Driver à Middleware-Net Server à Any database
§
Keunggulan
-
Tidak membutuhkan instalasi pada client-side
-
Middleware server dapat memberikan fungsi tambahan dalam hal caching, load
balancing, logging, auditing, dll.
-
Dapat digunakan di internet
§
Kelemahan
-
Membutuhkan program yang bersifat database-specific untuk middle tier
-
Extra layer dapat menyebabkan time-bottleneck.
Tipe 4 – Java to Database Protocol
§
Fungsi
-
Melakukan komunikasi langsung dengan database melalui koneksi socket.
-
Driver berfungsi mengubah JDBC call ke database protocol langsung
-
Diimplementasikan sepenuhnya dalam Java.
-
Client Machine à Native Protocol JDBC Driver à Database Server. Contoh:
Oracle Thin Driver
§
Keunggulan
-
Performa cenderung meningkat à Tidak melakukan translasi ke ODBC, tidak
menggunakan client API, tidak menggunakan middleware layer
§
Kelemahan
-
Pada sisi client, driver untuk masing-masing database harus terinstal.
BEBERAPA KONSEP PENTING DI DALAM
JDBC :
Transactions
- Secara default, semua transaksi pada JDBC bersifat
auto-commit
Logging
- Digunakan untuk mengatur apakah dilakukan logging kejadian
selama transaksi dilakukan.
Concurrency
- Memastikan transaksi terjadi sesuai urutan kronologis.
- Berhubungan dengan kemungkinan terjadinya multikoneksi
yang mengakses data yang sama.
JDBC MASIH MEMILIKI KOMPONEN PENTING
LAIN, YAITU :
Package java.sql
Berisi beberapa class, interface yang digunakan dalam
transaksi.
DriverManager
Menangani segala sesuatu yang berkaitan dengan driver yang
dipakai.
DataSource
Alternatif dari DriverManager untuk melakukan koneksi
database.
JDBC Connection Object
- Object untuk melakukan koneksi dengan database
- Membuat Statement, PreparedStatement, dan
CallableStatement untuk eksekusi SQL.
- Melakukan commit dan rollback transaksi
KOMPONEN
UTAMA JDBC API
JDBC API memiliki
beberapa komponen utama yang berhubungan dengan mekanisme pengolahan data baik
itu untuk berkomunikasi dengan database server, melakukan koneksi, mengirim
perintah SQL, mendapatkan data, menutup koneksi, serta penanganan error yang
mungkin terjadi dalam pengolahan data.
1. Driver adalah
komponen untuk menangani komunikasi dengan database server.
2. DriverManager adalah
komponen untuk menangani objek Driver dimana objek DriverManager juga
mengabstraksi detail dari proses kerja objek Driver.
3. Connection adalah
komponen untuk merepresentasikan koneksi secara fisik ke database
4. Statement adalah
komponen untuk mengirim perintah-perintah SQL ke database.
5. ResultSet adalah
komponen untuk menyimpan data yang didapat dari database setelah perintah SQL
dijalankan dengan menggunakan komponen Statement.
6. SQLException adalah
komponen untuk menangangi kesalahan-kesalahan (error) yang mengkin terjadi
dalam pengolahan database.
REFERENSI
Terimakasih ilmunya.. :)
BalasHapus