Senin, 11 Juni 2012 - , 2 komentar

DATABASE JAVA


I.     Pengertian JDBC
JDBC merupakan teknologi standar Java yang menjadi bagian dari JDK (J2SDK) untuk akses dan pengolahan database. Database yang didukung oleh Java cukup banyak, seperti : MySQL, Postgres, Oracle, B2, Access dan lain-lain.
JDBC berisi kumpulan kelas-kelas dan interface yang ditulis dengan bahasa Java. JDBC dapat digunakan untuk membangun koneksi ke data source, mengirim statement ke data source, memproses hasil statement tersebut.

II.     Koneksi MySql ke Java
Langkah-langkah untuk melakukan koneksi Java dan MySQL:
1.    Mengimpor package java.sql
Program Java yang menggunakan JDBC harus mengimpor package java.sql, sehingga program dapat mengenali DriverManager, Connection dan ResultSet.
Contoh mengimpor package java.sql sebagai berikut:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

Atau cukup dengan :
import java.sql.*;

Penjelasan:
  • DriverManager : memanggil driver JDBC ke memori, dan dapat juga digunakan untuk membuka koneksi ke sumber data.
  • Connection : mempresentasikan suatu koneksi dengan suatu data source, juga digunakan untuk membuat objek Statement, PreparedStatement dan CallableStatement.
  •  Statement :  mempresentasikan suatu perintah SQL, dan dapat digunakan untuk menerima objek ResultSet.
  •  PreparedStatement : merupakan alternatif untuk objek Statement SQL yang telah terkompilasi awal.
  • CallableStatement : mempresentasikan suatu stored procedure, dan dapat digunakan untuk menjalankan stored procedures yang terkompilasi dalam suatu RDBMS yang mendukung fasilitas tersebut.
  • ResultSet :  mempresentasikan sebuah hasil dari database yang dihasilkan dari statemen SQL SELECT.
  • SQLException : suatu class exception yang membungkus kesalahan (error) pengaksesan database.

2.  Memanggil driver JDBC
Untuk koneksi dengan database yang digunakan pada program java dengan JDBC, harus menggunakan driver. Driver merupakan library atau API (Application Programming Interface). Masing-masing database menggunakan driver yang berbeda.
Berikut ini tabel daftar nama driver dari beberapa database server:
Database Driver
Nama Driver
JDBC-ODBC
sun.jdbc.odbc.JdbcOdbcDriver
MySQL
com.mysql.jdbc.Driver
PostgreSQL
org.postgresql.Driver
Microsoft SQL Server
com.microsoft.jdbc.sqlserver.SQLServerDriver
Oracle
oracle.jdbc.driver.OracleDriver
IM DB2
COM.ibm.db2.jdbc.app.DB2Driver

Contoh untuk koneksi ke MySql:
String url = "jdbc:mysql://localhost:3306/db_mahasiswa";
        try{
        Class.forName("com.mysql.jdbc.Driver");
        con = DriverManager.getConnection(url,"root","");
        }
        catch(ClassNotFoundException ex) {
        System.err.println("Driver Error");
        System.exit();
        }
        catch(SQLException e){
        System.out.println("Tidak berhasil koneksi");
        }
     }

3.  Mendefinisikan URL untuk Koneksi Database
Setelah load driver sukses, Anda perlu mendefinisikan URL lokasi dari database. Bentuk umum JDBC URL sebagai berikut:
jdbc:databaseserver://[hostname][,failoverhost…][:post]/[dbname][?param1=value1][&param2=value2]…
Contoh:
String url = "jdbc:mysql://localhost:3306//dbmahasiswa;
user=root&password=";
String url = "jdbc:odbc:dbmahasiswa";

4.  Melakukan Koneksi Ke Database
Untuk melakukan koneksi ke database, Anda dapat menggunakan metode getConnection dari kelas DriverManager. Ada beberapa argument yang berbeda dari method getConnection() yang dipanggil dari DriverManager, yaitu:
getConnection(String url, String User, String password)
Pada method ini hanya memerlukan argument url, username dan password.
Method ini secara langsung mendefinikan nilai URL, username dan password.
Contoh:
try{
String url = "jdbc:mysql://localhost:3306/db_mahasiswa";
String user = "root";
String password = "";
Connection conn =
DriverManager.getConnection(url,user,password);
System.out.println("Proses koneksi berhasil");
} catch(SQLException sqle){
System.out.println("Proses koneksi gagal");
}

5.  Membuat Objek Statement
Proses query memerlukan objek Statement. Objek Statement dapat dibuat dari objek Connection. Objek Statement diperlukan untuk menjalankan perintah SQL dari program java ke database server dan mendapatkan ResultSet.
Statement stmt = Connection.createStatement;
atau
Statement stmt;
...
stmt = Con.createStatement;


6.  Melakukan Query atau Update
Untuk mengirim query dan mengeksekusi, mengunakan metode executeQuery yang mengembalikan objek bertipe ResultSet. Method executeQuery digunakan untuk Statement Select. Sedangkan method executeUpdate untuk Statement Insert, Update dan Delete.
String qry = "select * from mahasiswa";
ResultSet rslt = Statement.executeQuery($qry);
atau
String insert="insert into mahasiswa values ('"+nim+"','"+nama+"','"+alamat+"')";
Statement stmt;
…..
stmt = con.createStatement;
stmt.executeUpdate(insert);

7.  Memproses Hasil
Memproses hasil adalah memproses ResultSet, tipe objek yang dikembalikan oleh metode executeQuery dari objek Statement. Dalam memproses hasil, akan menggunakan objek ResultSet.
while(rslt.next()){
Out.println(rslt.getString(1)+” “+rslt.getString(2);
}
method rslt.next() pada penggalan program di atas digunakan untuk menuju ke data berikutnya hingga akhir data. Method getString diikuti nomor kolom (fields) digunakan untuk memproses data sebagai string yang kemudian ditampilkan dengan metode out.println.

8.  Menutup Koneksi
Sebelum menutup koneksi database, harus melepaskan objek Statement terlebih dahulu.
Contoh:
Statement.close();
Connection.close();

9.  Menambah penanganan error (error handling)
Penggunaan penanganan kesalahan dalam program sangat penting, karena jika proses salah ada instruksi yang dikerjakan atau kita isi dengan pesan kesalahan. Misalnya saja penanganan kesalahan jika driver jdbc tidak ditemukan.
Contoh:
try {
           Class.forName("com.mysql.jdbc.Driver");
      } catch(java.lang.ClassNotFoundException e) {
         System.err.print("ClassNotFoundException: ");
         System.err.println(e.getMessage());
      }

Oleh kelompok 8 (Database_Java)
1. Siti Hartina           (200951017)
2. Ulya Farida           (200951047)
3. Kartika Endah Sari (200951131)



2 komentar:

Posting Komentar