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

JDBC में पैरामीटराइज़्ड बैच अपडेट क्या है? उदाहरण के साथ समझाएं

JDBC पैरामीटराइज़्ड बैच अपडेट

एक साथ कई INSERT, UPDATE या DELETE स्टेटमेंट्स को पैरामीटर्स के साथ बैच में निष्पादित करने की प्रक्रिया को पैरामीटराइज़्ड बैच अपडेट कहते हैं। यह प्रदर्शन में सुधार करता है और SQL इंजेक्शन से बचाता है।

सामान्य बैच अपडेट प्रक्रिया

  1. Statement ऑब्जेक्ट बनाएं
  2. ऑटो-कमिट बंद करें: con.setAutoCommit(false)
  3. स्टेटमेंट्स को addBatch() से जोड़ें
  4. executeBatch() से निष्पादित करें
  5. कमिट करें: con.commit()

पैरामीटराइज़्ड बैच अपडेट का लाभ

बार-बार क्वेरी स्ट्रिंग बनाने के बजाय PreparedStatement में प्लेसहोल्डर्स (?) उपयोग करें और सेटर मेथड्स से मान सेट करें। प्रत्येक मान सेट को addBatch() में जोड़ें।

उदाहरण: Sales टेबल में डेटा इन्सर्ट करना

मान लें Sales टेबल इस प्रकार है:

+-------------------+--------------+------+-----+---------+-------+
| Field             | Type         | Null | Key | Default | Extra |
+-------------------+--------------+------+-----+---------+-------+
| Product_Name      | varchar(255) | YES  |     | NULL    |       |
| Name_Of_Customer  | varchar(255) | YES  |     | NULL    |       |
| Month_Of_Dispatch | varchar(255) | YES  |     | NULL    |       |
| Price             | int(11)      | YES  |     | NULL    |       |
| Location          | varchar(255) | YES  |     | NULL    |       |
+-------------------+--------------+------+-----+---------+-------+

जावा कोड उदाहरण

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.Statement;

public class ParameterizedBatchUpdate {
    public static void main(String args[]) throws Exception {
        // कनेक्शन प्राप्त करें
        String mysqlUrl = "jdbc:mysql://localhost/testDB";
        Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
        System.out.println("कनेक्शन स्थापित......");

        Statement stmt = con.createStatement();
        con.setAutoCommit(false);

        PreparedStatement pstmt = con.prepareStatement(
            "INSERT INTO Sales VALUES (?, ?, ?, ?, ?)");

        // पहला रिकॉर्ड
        pstmt.setString(1, "KeyBoard");
        pstmt.setString(2, "Amith");
        pstmt.setString(3, "January");
        pstmt.setInt(4, 1000);
        pstmt.setString(5, "Hyderabad");
        pstmt.addBatch();

        // दूसरा रिकॉर्ड
        pstmt.setString(1, "Earphones");
        pstmt.setString(2, "Sumith");
        pstmt.setString(3, "March");
        pstmt.setInt(4, 500);
        pstmt.setString(5, "Vishakhapatnam");
        pstmt.addBatch();

        // तीसरा रिकॉर्ड
        pstmt.setString(1, "Mouse");
        pstmt.setString(2, "Sudha");
        pstmt.setString(3, "September");
        pstmt.setInt(4, 500);
        pstmt.setString(5, "Vishakhapatnam");
        pstmt.addBatch();

        // बैच निष्पादित करें
        stmt.executeBatch();
        con.commit();
        System.out.println("रिकॉर्ड्स इन्सर्टेड......");
    }
}

आउटपुट

कनेक्शन स्थापित......
रिकॉर्ड्स इन्सर्टेड......

महत्वपूर्ण बिंदु

  • हमेशा setAutoCommit(false) का उपयोग करें
  • बैच निष्पादन के बाद con.commit() अवश्य करें
  • PreparedStatement SQL इंजेक्शन रोकता है
  • बड़े डेटा सेट्स के लिए बैच अपडेट बहुत तेज़ होता है
  1. C भाषा में कंस्टेंट क्या हैं और उदाहरण सहित C भाषा में कंस्टेंट क्या हैं और उदाहरण सहित

    कंस्टेंट को उस वेरिएबल के रूप में भी जाना जाता है जहां एक बार परिभाषित होने पर, प्रोग्राम निष्पादन के दौरान मान कभी नहीं बदलता। इस प्रकार, हम एक वेरिएबल को कंस्टेंट के रूप में घोषित कर सकते हैं जो निश्चित मानों को संदर्भित करता है। इसे लिटरल्स भी कहा जाता है। कंस्टेंट को परिभाषित करने के लिए const क

  1. C में volatile और restrict टाइप क्वालिफायर्स उदाहरण के साथ समझें C में volatile और restrict टाइप क्वालिफायर्स उदाहरण के साथ समझें

    टाइप क्वालिफायर्स C प्रोग्रामिंग भाषा में मौजूदा डेटा टाइप्स में विशेष विशेषताएं जोड़ते हैं। C भाषा में तीन टाइप क्वालिफायर्स हैं: const, volatile, और restrict। यहां volatile और restrict समझाए गए हैं। Volatile एक volatile टाइप क्वालिफायर कंपाइलर को बताता है कि एक वेरिएबल शेयर्ड है। यानी, यदि इसे v

  1. इमेज एरे क्या है? C++ में उदाहरण सहित समझाएं इमेज एरे क्या है? C++ में उदाहरण सहित समझाएं

    एरे डेटा के संग्रह को संग्रहीत और पुनर्प्राप्त करने का एक सुविधाजनक तरीका है। OpenCV में, हम इस अवधारणा का उपयोग कई इमेज को इमेज एरे में लोड करने और उन्हें एरे के इंडेक्स नंबर का उपयोग करके दिखाने के लिए कर सकते हैं। निम्नलिखित प्रोग्राम एक मैट्रिक्स एरे में कई इमेज लोड करता है और इंडेक्स नंबर द्वार