Sabtu, 27 September 2008

pemrograman jdbc

JDBC adalah Application Programming Interface (API) yang menyediakan fungsi-fungsi dasar untuk akses data. JDBC API terdiri atas sejumlah class dan interface yang dapat
digunakan untuk menulis aplikasi database dengan menggunakan Java. Class dan Interface JDBC terdapat pada package java.sqlContoh standard API JDBC:
– Membuat koneksi ke database
– Mengakses data dengan query
– Membuat stored (parameterized) query
– Mendapatkan struktur data dari result query (tabel) :
• Menyatakan jumlah kolom
• Mendapatkan nama kolom, dll

JDBC Driver
• Masing-masing database server memiliki
arsitektur dan sistem yang berbeda , cara
komunikasi berbeda.
• Sehingga tiap database server memiliki driver
sendiri.
• Untuk aplikasi Java, driver database disebut
dengan JDBC Driver.
• JDBC Driver adalah software library yang
diperlukan agar program JDBC dapat
berkomunikasi dengan database tertentu
• Masing-masing driver memiliki
implementasi dari spesifikasi JDBC
secara berbeda.
• Perbedaan:
– Kecepatan
– Kestabilan
– Fasilitas


Sebelum menggunakan JDBC Driver, dilakukan registrasi driver.
– Class.forName(String namaDriver).newInstance()
– DriverManager.registerDriver(Driver namaDriver)
– Menggunakan properti jdbc.drivers

Langkah-langkah penggunaan jdbc
1. Load driver JDBC

• Driver :
– library yang digunakan untuk berkomunikasi
dengan database server
– Dengan menggunakan driver, program Java yang
menggunakan API JDBC dapat berinteraksi dan
dapat dimengerti oleh database server.
• Untuk database yang berbeda dibutuhkan
driver yang berbeda.
try {
Class.forName(“sun.jdbc.odbc.JdbcDriver”);
}
catch (ClassNotFoundException ex) {
System.err.println(“Driver Error”);
ex.printStackTrace();
System.exit(1);
}
• Contoh di atas jika yang kita gunakan adalah JDBC-ODBC
driver.
• Dokumentasi driver anda akan memberikan nama class yang
digunakan.

Nama Driver database:
• JDBC-ODBC :
sun.jdbc.odbc.JdbcOdbcDriver
• Oracle :
oracle.jdbc.driver.OracleDriver
• Sybase :
com.sybase.jdbc.SybDriver
• MySQL:
com.mysql.jdbc.Driver
• PostgreSQL:
org.postgresql.Driver
• Microsoft SQLServer 2000 :
com.microsoft.jdbc.sqlserver.SQLServerDriver

2. Definisikan URL database

• Menspesifikasikan lokasi database server
• Gunakan dokumentasi driver
• Untuk penggunaan JDBC di applet:
– database server harus berada pada node yang sama dengan letak
applet.
– Menggunakan proxy server yang me “reroute” request database ke
actual server.
• Contoh:
String host = "dbhost.yourcompany.com";
String dbName = "someName";
int port =1234;
String oracleURL = "jdbc:oracle:thin:@"+host+":"+port+ ":"+dbName;
String sysbase URL = "jdbc:sysbase:Tds:" +host+":"+port+":"+"?SERVICENAME="+dbName;

Nama URL database:
• JDBC-ODBC :
jdbc:odbc:nama_database
• Oracle :
jdbc:oracle:thin:@nama_host:1521:namaDB
• MySQL:
jdbc:mysql://nama_host:3306/namaDB
• PostgreSQL:
jdbc:postgresql://nama_host:5432/namaDB
• Microsoft SQLServer 2000 :
jdbc:microsoft:sqlserver://nama_host:1433;Databas
eName=namaDB

3. Membuat dan melakukan koneksi

• Cara : memanggil method getConnection dari class
DriverManager dengan melewatkan URL (hasil langkah
dua) sebagai argumen.
• getConnection akan melempar SQLException
• Contoh:
String username = "root";
String password = "secret";
Connection connection = DriverManager.getConnection(oracleURL,username,password);

4. Membuat obyek statement

• Object Statement digunakan untuk mengirim
query dan perintah ke database.
• Object Statement dibuat dengan cara
bekerjasama dengan class Connection.
• Cara: memangil method createStatement()
dari obyek Connection.
• Contoh:
Statement statement = connection.createStatement();

5. Mengeksekusi query

• Memanfaatkan object Statement untuk memproses
query.
• Cara: memanggil method executeQuery() dari object
Statement. memberikan return value bertipe
ResulSet
• Returns: ResulSet.
String sql=“select col1, col2, col3 from sometable”;
ResultSet rs=statement.executeQuery(sql);
Note : Untuk memodifikasi database, gunakan
statement.executeUpdate(sql); yang
mendukung string sql UPDATE, INSERT INTO,
DELETE

6. Memproses result

• ResultSet memberikan bermacam2 method getXxx
dengan parameter indek kolom atau nama kolom dan
mengembalikan data.
• Method lain object ResultSet:
– findColumn()
mendapatkan index (integer value) berdasarkan
nama kolom.
Kolom pertama mempunyai index 1 bukan 0.
– getMetaData()
retrieve informasi mengenai ResultSet, returns
object ResultSetMetaData.
– wasNull()
Mengetahui apakah getXxx() menghasilkan SQL
null.

• Dengan menggunakan method next() pada object ResultSet 􀃆
mendapatkan results per satu baris.
• Contoh:
String nrp;
String nama;
while (rs.next()){
nrp=rs.getString(1);
nama=rs.getString(2);
System.out.println("NRP : " +nrp);
System.out.println("NAMA : " +nama);
System.out.println("-------------");
}
• Kolom pertama mempunyai index 1 bukan 0.
• Object ResultSet otomatis akan ditutup bila ada object ResultSet baru.

7. Menutup koneksi

• Harus didefinisikan secara eksplisit.
connection.close();
• Karena membuka koneksi adalah mahal, maka
penundaan langkah terakhir ini hanya jika masih ada
operasi database yang dilakukan.

Disini saya akan menggunakan koneksi dengan mysql (open source). jika kalian tidak mempunyai dirvernyaklik disini atau disini . Ekstrak file hasil download (tipe file: *.jar). Salin file tersebut ke direktori [instalasi jre]/lib/ext/.

impot java.sql.*
public class db {
public static void main(String [] args)
{
String driver = "com.mysql.jdbc.Driver";
try {
Class.forName(driver);
String ="jdbc:mysql://localhost:3306/root";
String user = "root",password="";
Connection connection = DriverManager.getConnection (url,user,password);
Statement statement = connecion.createStatement();
String query = "select * from malik";
ResultSet results = statement.executeQuery(query);

Label:

0 Komentar:

Posting Komentar

Berlangganan Posting Komentar [Atom]

<< Beranda