JDBC (7) : PreparedStatement

Oleh : Reza Ervani

Referensi :

  1. Tutorials Point – JDBC Introduction
  2. Vogella – MySQL and JDBC – Lars Vogel
  3. Eclipse & JDBC – Russell Bateman

بسم الله الرحمن الرحيم

Objek PreparedStatement

Antarmuka PreparedStatement melebarkan/extend antarmuka Statement yang memberikan kita fungsionalitas tambahan dengan beberapa keuntungan lebih dibandingkan objek Statement generik.

Statement ini memberikan kita fleksibilitas pensuplaian argumen secara dinamik.


Creating PreparedStatement Object:
PreparedStatement pstmt = null;
try {
String SQL = "Update Employees SET age = ? WHERE id = ?";
pstmt = conn.prepareStatement(SQL);
. . .
}
catch (SQLException e) {
. . .
}
finally {
. . .
}

Semua parameter di JDBC diwakili oleh simbol tanda tanya (?)  yang dikenal sebagai penanda parameter. Kita mesti melengkapi seluruh parameter sebelum dapat mengeksekusi statement SQL.

metode setXXX() melakukan bind terhadap nilai-nilai ke parameter, dimana XXX mewakili tipe data java dari nilai yang ingin kita bind ke parameter input. Jika kita lupa memberikan nilai, kita akan menerima SQLException.

Setiap marker parameter ditunjukkan denga posisi ordinalnya. Marker pertama mewakili posisi 1, berikutnya posisi 2 dan seterusnya. Metode ini membedakan dari indeks array Java yang dimulai dari 0.

Semua metode objek Statement untuk berinteraksi dengan database (a) execute (), (b) executeQuery() dan (c) executeUpdate() juga dapat bekerja dengan objek PreparedStatement. Bagaimanapun, metode ini dimodifikasi untuk menggunakan statement SQL yang dapat mengambil input parameter.

Menutup Objek PreparedStatement

Seperti saat kita menutup objek Connection untuk menghemat resource database, alasan yang sama juga kita lakukan saat menutup objek PreparedStatement.

Panggilan sederhana metode close() kita gunakan untuk melakukan hal ini. Jika kita pertama-tama menutup objek Connection, maka dia akan juga sekaligus menutup objek PreparedStatement. Tapi bagaimanapun, kita mesti selalu secara eksplisit menutup objek Statement untuk memastikan cleanup yang diinginkan.


PreparedStatement pstmt = null;
try {
String SQL = "Update Employees SET age = ? WHERE id = ?";
pstmt = conn.prepareStatement(SQL);
. . .
}
catch (SQLException e) {
. . .
}
finally {
pstmt.close();
}

Bersambung insya Allah (reza@rumahilmu.or.id)

About Reza Ervani
Adalah pendiri programming.rezaervani.com -

About Reza Ervani 381 Articles
Adalah pendiri programming.rezaervani.com -

Be the first to comment

Leave a Reply

Your email address will not be published.


*


This site uses Akismet to reduce spam. Learn how your comment data is processed.