Thursday, January 24, 2013

JDBC untuk akses dengan Database



Teknologi JDBC adalah salah satu API -Application Programming Interface, yaitu library pemrograman java standar (ada diJ2SE and J2EE). 
JDBC singkatan dari Java Database Connectivity.
Yaitu teknologi  yang memberikan konektivitas DBMS ke berbagai mesin database dan sumber data lainnya, seperti spreadsheet dan flat file.
JDBC memberikan fasilitas akses data yang tidak tergantung platform, sehingga kalau berpindah-pindah database, maka tidak diperlukan penulisan kode berulang.

Model dan Arsitektur JDBC
Secara arsitektural, diagram dan komponen JDBC tampak dalam gambar dan penjelasan berikut ini.

 
DriverManager:
Mengelola driver untuk berhubungan dg database sesuai dengan jenis databasenya dan protokol yang digunakan (Oracle, mySQL, MS SQL Server, dll).
Manages a list of database drivers. Matches connection requests from the java application with the proper database driver using communication subprotocol. The first driver that recognizes a certain subprotocol under JDBC will be used to establish a database Connection.

Driver: Mengatur link hubungan dengan database.
The database communications link, handling all communication with the database. Normally, once the driver is loaded, the developer need not call it explicitly.

Connection :Interface dengan method2 untuk berkomunikasi dengan database.
 Interface with all methods for contacting a database.The connection object represents communication context, i.e., all communication with database is through connection object only.

Statement :
Mengenkapsulasi pernyataan SQL (Structuted Query Language) dalam kode yang dikirim ke database.
Encapsulates an SQL statement which is passed to the database to be parsed, compiled, planned and executed.

ResultSet:
Hasil dari permintaan SQL yang dikirim dan dikembalikan dalam bentuk baris-baris data.
The ResultSet represents set of rows retrieved due to query execution.

Membuka Koneksi Data
Method getConnection() dari DriverManager
Setiap koneksi ke database biasanya harus didahului dengan mekanisme pengiriman data credential atau rahasia sepert : lokasi server, nama database, user-id, dan password.
*dalam bahasa lainnya biasa disebut ConnectionString.

Contoh koneksi ke MySQL
connect = DriverManager.getConnection("jdbc:mysql://localhost:3306/db1", "root","");   
Contoh koneksi ke Oracle
String url = "jdbc:oracle:thin:@localhost:1632:DEVROOT32";
     
        //properties for creating connection to Oracle database
        Properties props = new Properties();
        props.setProperty("user", "scott");
        props.setProperty("password", "tiger");

     
        //creating connection to Oracle database using JDBC
        Connection conn = DriverManager.getConnection(url,props);

Permintaan Data dengan Statement
Method executeQuery() dari Statement
parameter: perintah SQL
Hasil disimpan dalam Resultset
statement = connect.createStatement();
          // Result set get the result of the SQL query
          resultSet = statement.executeQuery("select * from tabel1 ");
Menampilkan Data dengan Resultset
Dengan perulangan next(), data setiap baris dan kolom diakses pada objek resultset.
while (resultSet.next())
          {
          i++;
          System.out.println(i);
          System.out.println("kol1: " + resultSet.getString("kol1")); bila data string
          System.out.println("kol2: " + resultSet.getInt("kol2")); bila data numeric, misal integer
          }

No comments: