Oleh : Reza Ervani
Referensi :
- Tutorials Point – JDBC Introduction
- Vogella – MySQL and JDBC – Lars Vogel
- 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)
Leave a Reply