Skip to content

M06 · Bab 7± 55 menitDraf AI

JDBC dan Connection Pool

Tujuan belajar

  • Menghubungkan aplikasi Java ke PostgreSQL lewat driver JDBC, DriverManager, dan DataSource
  • Menjalankan query dengan PreparedStatement dan memetakan ResultSet ke record di dalam try-with-resources
  • Menjelaskan SQL injection dan kenapa parameter ? mencegahnya
  • Mengelola transaksi manual dengan setAutoCommit(false), commit, dan rollback, plus batch insert dan generated keys
  • Mengonfigurasi connection pool HikariCP dan memahami kenapa Spring JDBC/JPA lahir

Prasyarat: Desain Database & Transaksi

Kuis

5 soal · lulus bila minimal 70% benar

1.Input pengguna X' OR '1'='1 ditempel ke "SELECT * FROM product WHERE sku = '" + input + "'" lalu dijalankan dengan Statement. Apa yang terjadi?
2.Method placeOrder memanggil setAutoCommit(false), mengurangi stok TEH-100, lalu melempar OutOfStockException untuk KOPI-250. Blok catch memanggil rollback(). Berapa stok TEH-100 setelahnya?
3.Aplikasi berjalan normal saat dites sendiri, tetapi di production muncul SQLTransientConnectionException dari HikariCP setelah 30 detik saat trafik tinggi. Kode repository membuka koneksi dengan dataSource.getConnection() tanpa try-with-resources. Penyebab paling mungkin?
4.Kenapa driver PostgreSQL biasanya cukup ditambahkan dengan <scope>runtime</scope> di pom.xml?
5.Kamu perlu menyimpan 10.000 baris order_item hasil import. Pendekatan mana yang paling efisien dengan JDBC murni?

Jawab semua soal dulu (0/5)