डेटाबेस कनेक्शन प्रबंधन

Java में PostgreSQL डेटाबेस को क्वेरी करना

Miller Trujillo

Staff Software Engineer

कनेक्शन मैनेजमेंट क्यों ज़रूरी है?

$$

  • हर कनेक्शन एक नेटवर्क सॉकेट खोलता है
  • ऑथेंटिकेशन और रिसोर्स आवंटन चाहिए
  • बिना बंद कनेक्शन रिसोर्स लीक करते हैं
  • नए कनेक्शन असफल हो सकते हैं

एक डायग्राम जिसमें कई डेटाबेस कनेक्शन जमा हो रहे हैं, कुछ "zombie" कनेक्शन के रूप में चिह्नित हैं जो खुले हैं पर उपयोग नहीं हो रहे

Java में PostgreSQL डेटाबेस को क्वेरी करना

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 books: " + rs.getInt(1)); } }
  • कनेक्शन अपने-आप बंद हो जाते हैं
Java में PostgreSQL डेटाबेस को क्वेरी करना

कनेक्शन पूलिंग

  • हर नया कनेक्शन महंगा सेटअप दोहराता है
  • पूलिंग मौजूदा कनेक्शन री-यूज़ करती है
  • काम पूरा होने पर कनेक्शन पूल में लौटते हैं

टैक्सी स्टैंड की उपमा

एक डायग्राम जिसमें कनेक्शन पूल दिख रहा है, कई पहले से बने कनेक्शनों के साथ, और तीर उधार लेने व लौटाने को दिखाते हैं

Java में PostgreSQL डेटाबेस को क्वेरी करना

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("Connected with HikariCP!"); }
Java में PostgreSQL डेटाबेस को क्वेरी करना

HikariCP कंसोल लॉगिंग

[main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
[main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - 
    Added connection org.postgresql.jdbc.PgConnection@ID
[main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
Java में PostgreSQL डेटाबेस को क्वेरी करना

अभ्यास करते हैं!

Java में PostgreSQL डेटाबेस को क्वेरी करना

Preparing Video For Download...