Pemrograman JAVA (TIB09) Database Metadata dan Transaksi Progdi Teknik Informatika – Universitas Bunda Mulia
Metadata • Class DatabaseMetadata • Method: – getDatabaseProductName() – getDriverName() – getDatabaseProductVersion() • Informasi didapat dari objek koneksi dengna menggunakan method getMetaData() yang terdapat pada class Connection
ResultSetMetaData • Class ResultSetMetaData • Method – getColumnCount() – getColumnLabel(int columnIndex) – getColumnName(int columnIndex) – getColumnDisplaySize() – getColumnTypeName(int columnIndex) • Informasi di dapat dari ResultSet yang dihasilkan oleh method getMetaData() yang terdapat pada class ResultSet
Transaksi • Usaha peremajaan database • Dapat dilakukan dengan SQL • Umumnya setiap transaksi di akhiri dengan COMMIT untuk menerima perubahan. • Pembatalan perubahan dan kembali semula dapat dilakukan dengan ROLLBACK – dengan catatan belum di COMMIT
Eksekusi statement • Eksekusi statement berupa SQL dapat dilakukan dengan method executeUpdate(sql) • executeUpdate(sql) akan meneruskan SQLException siapkan exception handling
commit • Untuk menerima perubahan data • Method commit() tersedia pada Class Connection • Statement pada java dapat melakukan auto commit dengan memberinya setting auto commit menggunakan method setAutoCommit(true) • dapat juga memberi setting non auto commit dengan memberikan perintah setAutocommit(false) • Method setAutoCommit() terdapat pada class Connection
rollback • Untuk membatalkan transaksi • Method rollback() tersedia pada Class Connection • Transaksi dapat dilakukan lebih dari satu kali sebelum di lakukan rollback, • setelah di lakukan rollback, maka semua perubahan transaksi akan dibatalkan.
Prepare Statement • Menyediakan suatu SQL yang dapat dieksekusi berkali-kali dengan value yang berbeda-beda • Prepare Statement ditangani oleh Class PreparedStatement. • Method prepareStatement(sql) disediakan oleh class Connection untuk mengisi objek PreparedStatement dengan suatu prepareStatement • Nilai pada strng sql nya diganti dengan “?” • String sql=“UPDATE Instruktur SET honor=? WHERE honor<?”; • Nilai untuk tiap transaksinya diinputkan dengan method setInt(), setBoolean(), setString() dsb sesuai dengan nama type datanya. • Untuk setiap set nya akan mewakili “?” sesuai dengan parameterIndex nya – Contoh set nilai untuk instruksi sql diatas: st.setInt(1, ); // akan menjadi nilai untuk “?” pertama st.setInt(2, ); // akan menjadi nilai untuk “?” kedua • Sama seperti Statement, prepare statement juga mempunyai method executeUpdate(sql) untuk mengeksekusi SQL