As’ad Djamalilleil http://kampusku.web.id asad.kom@gmail.com Membangun Aplikasi Database Berbasis Client-Server Menggunakan JDBC dan MySQL – Bagian 2 As’ad Djamalilleil http://kampusku.web.id asad.kom@gmail.com
Membangun Aplikasi Client Software yang diperlukan untuk membangun aplikasi client tersebut adalah sebagai berikut: Java Development Kit (JDK) http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u31-download-1501634.html JCreator http://www.jcreator.com/download.htm
Aplikasi client untuk mengakses database yang berada di server. Driver database (connector) untuk digunakan oleh aplikasi client agar dapat terhubung ke database server. MySql untuk Java (Connector/J) http://dev.mysql.com/downloads/connector/j/ MySql untuk program berbasis Windows (Connector/ODBC) MySql untuk .NET (Connector/NET) Microsoft Access & SQL Server (ODBC) Aplikasi client untuk mengakses database yang berada di server.
Langkah 1) dan 2) tidak perlu lagi dilakukan karena (diasumsikan) di komputer Anda masing-masing telah terinstall JDK dan JCreator.
3) Cara menghubungkan Connector/J dengan Jcreator
Jalankan JCreator
4) Membuat Aplikasi Client
Kode Program CobaSaja.java import java.sql.*; public class CobaSaja{ private static Connection koneksi; private static Statement perintah; private static ResultSet hasil; public static void main(String args[]){ try{ koneksi = DriverManager.getConnection( "jdbc:mysql://localhost:3306/ dbBukuTlp","root","admin"); } catch(SQLException sqlEx){ System.out.println("Tidak dpt terhubung ke database ..."); System.exit(1);
try{ perintah = koneksi.createStatement(); String select = "SELECT * FROM tblKontak"; hasil = perintah.executeQuery(select); } catch(SQLException sqlEx){ System.out.println("Perintah tidak dapat dilaksanakan ..."); sqlEx.printStackTrace(); System.exit(1); System.out.println(); while (hasil.next()){ System.out.println("Nama : " + hasil.getString(1)); System.out.println("Alamat : " + hasil.getString(2)); System.out.println("No HP : " + hasil.getString(3)); System.out.println("Umur : " + hasil.getString(4) + " tahun");
catch(SQLException sqlEx){ System.out.println("Error pada saat membaca data ..."); sqlEx.printStackTrace(); System.exit(1); } try{ koneksi.close(); System.out.println("Tidak dapat memutuskan hubungan dgn server ...");
URL Database Connector/J MySQL Berikut adalah sintaks URL koneksi database untuk MySQL: jdbc:mysql://[host][,failoverhost...] [:port]/[database] [?propertyName1][=propertyValue1] [&propertyName2][=propertyValue2]...
host:port adalah nama host dan nomor port dari komputer yang menyimpan database. Jika tidak ditentukan, maka nilai default dari host dan port adalah 127.0.0.1 dan 3306. database adalah nama dari database yang akan dikoneksikan. failover adalah nama dari database yang dijadikan sebagai cadangan. propertyName=propertyValue mewakili sebuah daftar properti yang dipisahkan dengan tanda ampersand dan bersifat opsional. Atribut-atribut ini memungkinkan anda untuk memberikan bermacam-macam instruksi kepada Connector/J MySQL.
Membuat Statement Statement adalah sebuah interface yang merepresentasikan sebuah SQL statement. Anda mengeksekusi objek statement dan objek ResultSet akan dibangkitkan, yang merupakan sebuah tabel data yang mewakili kumpulan hasil database. Anda membutuhkan sebuah objek Connection untuk membuat sebuah objek Statement. Contohnya: stmt = con.createStatement();
Mengeksekusi Query Untuk mengeksekusi query, panggil metode execute dari statement seperti berikut: execute() : mengembalikan nilai true jika objek pertama yang dikembalikan query adalah sebuah objek ResultSet. Gunakan metode ini jika query dapat mengembalikan satu atau lebih objek ResultSet. Mengambil objek ResultSet yang dikembalikan dari query dengan cara memanggil secara berulang metode Statement.getResultSet.
ResultSet rs = stmt.executeQuery(query); executeQuery() : mengembalikan sebuah objek ResultSet. executeUpdate() : mengembalikan sebuah nilai integer mewakili nomor baris yang terkena statement SQL. Gunakan metode ini jika anda menggunakan statement INSERT, DELETE, atau UPDATE. Contohnya: ResultSet rs = stmt.executeQuery(query);
Memproses Objek ResultSet Anda mengakses data di objek ResultSet lewat sebuah cursor. Sebagai contoh, metode ResultSet.next() dipanggil secara berulang-ulang untuk menggerakkan cursor ke baris demi baris record. Setiap kali memanggil metode next, maka nilai untuk setiap objek ResultSet akan berubah-ubah sesuai nilai yang ada dalam record.
Menutup Koneksi Ketika anda selesai menggunakan sebuah Statement, memanggil metode Statement.close() untuk secara cepat melepaskan sumber data yang sedang digunakan. Ketika metode ini dipanggil, objek ResultSet ditutup. Sebagai contoh, kode di bawah memastikan agar setiap kali statement selesai digunakan, maka akan segera ditutup. finally{ if (stmt != null) stmt.close(); }
Statement berikut adalah sebuah contoh penggunaan Automatic Resource Management (ARM), yang mendeklarasikan sebuah sumber daya, dan akan secara otomatis ditutup ketika blok try selesai dijalankan. try (Statement stmt = con.createStatement()){ // ... }