Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

Java में संसाधनों को स्वचालित रूप से कैसे बंद करें?

आप JDBC में try-with-resources का उपयोग करके संसाधनों को स्वचालित रूप से बंद कर सकते हैं।

सिंटैक्स

try(संसाधन की घोषणा){ 
    बॉडी..... 
} catch (SQLException e) { 
    e.printStackTrace(); 
}

यह एक try स्टेटमेंट है जिसमें try पर एक या अधिक संसाधन घोषित होते हैं। जहां संसाधन एक ऑब्जेक्ट है जिसे इसकी आवश्यकता न होने पर बंद कर दिया जाना चाहिए।

आप इसमें कई संसाधन घोषित कर सकते हैं और वे सभी स्टेटमेंट के अंत में स्वचालित रूप से बंद हो जाएंगे।

हम जो ऑब्जेक्ट्स/संसाधन घोषित करते हैं उन्हें java.lang.AutoCloseable या java.io.Closeable इंटरफेस इम्प्लीमेंट करना चाहिए, या java.lang.AutoCloseable क्लास को एक्सटेंड करना चाहिए।

JDBC में हम try-with-resources स्टेटमेंट में java.sql.CallableStatement, Connection, PreparedStatement, Statement, ResultSet, और RowSet का उपयोग कर सकते हैं।

उदाहरण

आइए MySQL डेटाबेस में MyPlayers नाम से एक टेबल बनाएं CREATE स्टेटमेंट का उपयोग करके:

CREATE TABLE MyPlayers( 
    ID INT, 
    First_Name VARCHAR(255), 
    Last_Name VARCHAR(255), 
    Date_Of_Birth date, 
    Place_Of_Birth VARCHAR(255), 
    Country VARCHAR(255), 
    PRIMARY KEY (ID) 
);

अब, INSERT स्टेटमेंट्स का उपयोग करके MyPlayers टेबल में 7 रिकॉर्ड डालें:

insert into MyPlayers values(1, 'Shikhar', 'Dhawan', DATE('1981-12-05'), 'Delhi', 'India'); 
insert into MyPlayers values(2, 'Jonathan', 'Trott', DATE('1981-04-22'), 'CapeTown', 'SouthAfrica'); 
insert into MyPlayers values(3, 'Kumara', 'Sangakkara', DATE('1977-10-27'), 'Matale', 'Srilanka'); 
insert into MyPlayers values(4, 'Virat', 'Kohli', DATE('1988-11-05'), 'Delhi', 'India'); 
insert into MyPlayers values(5, 'Rohit', 'Sharma', DATE('1987-04-30'), 'Nagpur', 'India'); 
insert into MyPlayers values(6, 'Ravindra', 'Jadeja', DATE('1988-12-06'), 'Nagpur', 'India'); 
insert into MyPlayers values(7, 'James', 'Anderson', DATE('1982-06-30'), 'Burnley', 'England');

निम्न JDBC प्रोग्राम JDBC में try-with-resources स्टेटमेंट के उपयोग को दर्शाता है:

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; 

public class TryWithResources_Example { 
    public static void main(String args[]) { 
        // कनेक्शन प्राप्त करना 
        String mysqlUrl = "jdbc:mysql://localhost/mydatabase"; 
        System.out.println("Connection established......"); 
        // ड्राइवर रजिस्टर करना 
        try(Connection con = DriverManager.getConnection(mysqlUrl, "root", "password"); 
            Statement stmt = con.createStatement(); ) { 
            try(ResultSet rs = stmt.executeQuery("select * from MyPlayers");) { 
                // डेटा पुनर्प्राप्त करना 
                while(rs.next()) { 
                    System.out.print(rs.getInt("ID")+", "); 
                    System.out.print(rs.getString("First_Name")+", "); 
                    System.out.print(rs.getString("Last_Name")+", "); 
                    System.out.print(rs.getDate("Date_Of_Birth")+", "); 
                    System.out.print(rs.getString("Place_Of_Birth")+", "); 
                    System.out.print(rs.getString("Country")); 
                    System.out.println(); 
                } 
            } catch (SQLException e) { 
                e.printStackTrace(); 
            } 
        } catch (SQLException e) { 
            e.printStackTrace(); 
        } 
    } 
}

आउटपुट

Connection established...... 
1, Shikhar, Dhawan, 1981-12-05, Delhi, India 
2, Jonathan, Trott, 1981-04-22, CapeTown, SouthAfrica 
3, Kumara, Sangakkara, 1977-10-27, Matale, Srilanka 
4, Virat, Kohli, 1988-11-05, Mumbai, India 
5, Rohit, Sharma, 1987-04-30, Nagpur, India 
6, Ravindra, Jadeja, 1988-12-06, Nagpur, India 
7, James, Anderson, 1982-06-30, Burnely, England 
8, Ryan, McLaren, 1983-02-09, Kumberly, null

try-with-resources ब्लॉक के अंत में Connection, Statement, और ResultSet स्वचालित रूप से बंद हो जाते हैं, भले ही एक्सेप्शन हो।

  1. Java का उपयोग करके Selenium WebDriver में चाइल्ड ब्राउज़र विंडो कैसे बंद करें? Java का उपयोग करके Selenium WebDriver में चाइल्ड ब्राउज़र विंडो कैसे बंद करें?

    परिचयहम Selenium WebDriver में चाइल्ड ब्राउज़र विंडो को बंद कर सकते हैं। getWindowHandles और getWindowHandle मेथड्स का उपयोग चाइल्ड विंडो को संभालने के लिए किया जा सकता है। getWindowHandles मेथड का उपयोग सभी खुले विंडो हैंडल को Set डेटा संरचना में स्टोर करने के लिए किया जाता है।getWindowHandle मेथड

  1. - Java में अपवाद को कैसे रीथ्रो करें?

    कभी-कभी हमें जावा में एक अपवाद को रीथ्रो करने की आवश्यकता हो सकती है। यदि एक catch ब्लॉक उस विशेष अपवाद को संभाल नहीं सकता जिसे उसने पकड़ा है, तो हम अपवाद को रीथ्रो कर सकते हैं। रीथ्रो एक्सप्रेशन मूल रूप से फेंके गए ऑब्जेक्ट को रीथ्रो करता है। क्योंकि अपवाद को पहले से ही उस स्कोप में पकड़ा जा चुका

  1. - Java में JSON पार्स करना: लोकप्रिय लाइब्रेरी के साथ व्यापक गाइड

    इस ट्यूटोरियल में हम देखेंगे कि विभिन्न लाइब्रेरी का उपयोग करके Java में JSON कैसे पार्स करें। JSON का मतलब JavaScript Object Notation है, और यह JavaScript के सबसेट पर आधारित है। डेटा-एक्सचेंज फॉर्मेट के रूप में, यह वेब प्रोग्रामिंग में व्यापक रूप से उपयोग किया जाता है। यहां हम दिखाते हैं कि org.jso