Mengelola Koneksi Basis Data

Melakukan Query ke Basis Data PostgreSQL di Java

Miller Trujillo

Staff Software Engineer

Mengapa manajemen koneksi penting?

$$

  • Setiap koneksi membuka soket jaringan
  • Memerlukan autentikasi dan alokasi sumber daya
  • Koneksi yang tidak ditutup menyebabkan kebocoran sumber daya
  • Koneksi baru mungkin gagal

Diagram menunjukkan beberapa koneksi basis data yang menumpuk, dengan beberapa ditandai sebagai "koneksi zombie" yang terbuka tetapi tidak digunakan

Melakukan Query ke Basis Data PostgreSQL di Java

try-with-resources

String sql = "SELECT COUNT(*) FROM books";


try (Connection conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql)) {
if (rs.next()) { System.out.println("Total buku: " + rs.getInt(1)); } }
  • Koneksi ditutup secara otomatis
Melakukan Query ke Basis Data PostgreSQL di Java

Pooling Koneksi

  • Koneksi baru mengulangi pengaturan yang mahal
  • Pooling menggunakan kembali koneksi yang ada
  • Koneksi kembali ke pool setelah selesai

Analogi pangkalan taksi

Diagram menunjukkan pool koneksi dengan beberapa koneksi yang sudah ada, dengan panah menunjukkan koneksi dipinjam dan dikembalikan

Melakukan Query ke Basis Data PostgreSQL di Java

Contoh HikariCP

import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;


HikariConfig config = new HikariConfig(); config.setJdbcUrl("jdbc:postgresql://localhost:5432/library"); config.setUsername("postgres"); config.setPassword("secret");
HikariDataSource ds = new HikariDataSource(config);
try (Connection conn = ds.getConnection()) { System.out.println("Terhubung dengan HikariCP!"); }
Melakukan Query ke Basis Data PostgreSQL di Java

Logging Konsol HikariCP

[main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Memulai...
[main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - 
    Menambahkan koneksi org.postgresql.jdbc.PgConnection@ID
[main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Mulai selesai.
Melakukan Query ke Basis Data PostgreSQL di Java

Ayo berlatih!

Melakukan Query ke Basis Data PostgreSQL di Java

Preparing Video For Download...