English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
يُسمحلبشكلالبايتجمعجملSQLالمرتبطةويعرضهابإتصال واحدمعالقاعدةالبيانات.
عندإرسالعدةجملSQLإلىقاعدةالبياناتفي一次性،يمكنتقليلتكاليفالإتصال،بالتاليزيادةالسرعة.
لايحتاجمكبرنامجالتحكمJDBCإلىدعمهذاالخصائص. يجباستخدامطريقةDatabaseMetaData.supportsBatchUpdates()لتحديدإذاكانالقاعدةالبياناتالهدف تدعممعالجةتحديثالباقة. إذاكانبرنامجالتحكمJDBCيدعمهذاالخصائص،فسيقومبالعودةبالصحيةبصيغةtrue.
استخدامStatement،PreparedStatementوCallableStatementمетодaddBatch()لإضافةجملةفرديةإلىالبايت،ويستخدمexecuteBatch()لإجراءتنفيذجميعالجملالمجمعة.
ي�回 أرقامًا صحيحة في مصفوفة، حيث يمثل كل عنصر عدد التحديثات في تعليمات update المحددة.
مثلما يمكنك إضافة تعليمات إلى البatch للمعالجة، يمكنك أيضًا استخدام طريقة clearBatch () لإزالة هذه التعليمات. تقوم هذه الطريقة بإزالة جميع التعليمات التي تم إضافتها باستخدام طريقة addBatch ()، ولكن لا يمكنك اختيار التعليمات التي تريد إزالتها.
هذه هي سلسلة الخطوات التقليدية لاستخدام البatch مع كائن Statement-
استخدام هذينcreateStatement()يتم إنشاء كائن Statement.
استخدم setAutoCommit () لضبط auto-commit على false.
أضف أي عدد من تعليمات SQL إلى البatch باستخدام طريقة addBatch () على الكائن الجملة المكتسبة.
استخدم طريقة executeBatch () لتنفيذ جميع تعليمات SQL المضافة.
في النهاية، استخدمcommit()يتم تقديم جميع التغييرات.
يقدم هذا المقطع من الكود مثالاً على كيفية استخدام كائن Statement للتحديثات الجماعية-
// إنشاء كائن الجملة Statement stmt = conn.createStatement(); // ضبط التسليم التلقائي على false conn.setAutoCommit(false); //إنشاء جملة SQL String SQL = "INSERT INTO Employees (id, first, last, age) " + "VALUES(200,'Zia', 'Ali', 30)"; // إضافة تعليمات SQL أعلاه إلى البatch. stmt.addBatch(SQL); // إنشاء تعليمات SQL أخرى String SQL = "INSERT INTO Employees (id, first, last, age) " + "VALUES(201,'Raj', 'Kumar', 35)"; // إضافة تعليمات SQL أعلاه إلى البatch. stmt.addBatch(SQL); // إنشاء تعليمات SQL أخرى String SQL = "UPDATE Employees SET age = 35 " + "WHERE id = 100"; // إضافة تعليمات SQL أعلاه إلى البatch. stmt.addBatch(SQL); // إنشاء مصفوفة int [] لحفظ القيم المعدة int[] count = stmt.executeBatch(); //تقديم جملة واضحة لتطبيق التغييرات conn.commit();
للتفهم بشكل أفضل، دعونا ندرسكود مثال للمعالجة الجماعية.
هذه هي سلسلة الخطوات التقليدية لاستخدام البatch مع كائن PrepareStatement-
أنشئ تعليمات SQL باستخدام الدوال المعروفة.
أنشئ كائن PrepareStatement باستخدام أي طريقة PrepareStatement().
استخدم setAutoCommit () لضبط auto-commit على false.
أضف أكبر قدر ممكن من تعليمات SQL إلى القائمة باستخدام طريقة addBatch () على الكائن الجملة المكتسبة.
استخدم طريقة executeBatch () لتنفيذ جميع تعليمات SQL المضافة.
في النهاية، استخدمcommit()يتم تقديم جميع التغييرات.
يقدم هذا الكود مثالاً على تحديث الجلسات الجماعية باستخدام كائن PreparedStatement-
//إنشاء جملة SQL String SQL = "INSERT INTO Employees (id, first, last, age) " + "VALUES(?, ?, ?, ?)"; //إنشاء كائن PreparedStatemen PreparedStatemen pstmt = conn.prepareStatement(SQL); //تعيين التسليم التلقائي على false conn.setAutoCommit(false); //تعيين المتغيرات pstmt.setInt(1, 400); pstmt.setString(2, "Pappu"); pstmt.setString(3, "Singh"); pstmt.setInt(4, 33); //إضافة إلى المعاملات الجماعية pstmt.addBatch(); //تعيين المتغيرات pstmt.setInt(1, 401); pstmt.setString(2, "Pawan"); pstmt.setString(3, "Singh"); pstmt.setInt(4, 31); //إضافة إلى المعاملات الجماعية pstmt.addBatch(); //إضافة المزيد من المعاملات الجماعية . . . . //إنشاء مصفوفة int[] لتح Konsol الارقام المعدة int[] count = stmt.executeBatch(); //تقديم جملة واضحة لتطبيق التغييرات conn.commit();
للتفهم بشكل أفضل، دعونا ندرسكود مثال للمعالجة الجماعية.