আপনি যদি একটি ডাটাবেস কমিট করেন, এটি সেই নির্দিষ্ট বিন্দু পর্যন্ত করা সমস্ত পরিবর্তন সংরক্ষণ করে।
আপনি কমিট() ব্যবহার করে একটি ডাটাবেস কমিট করতে পারেন পদ্ধতি যখনই কোনো সমস্যা দেখা দেয় আপনি রোলব্যাক() ব্যবহার করে ডাটাবেসকে এই পয়েন্টে ফিরিয়ে আনতে পারেন পদ্ধতি ডিফল্টরূপে, কিছু ডাটাবেস স্বয়ংক্রিয়ভাবে ডাটাবেসগুলিকে কমিট করে। কিন্তু, লেনদেন পরিচালনা করার সময় আপনাকে ম্যানুয়ালি ডাটাবেস কমিট করতে হবে।
এই পরিস্থিতিতে আপনি setAutoCommit() পদ্ধতি ব্যবহার করতে পারেন। এই পদ্ধতিটি সংযোগ ইন্টারফেসের অন্তর্গত এবং, এটি একটি বুলিয়ান মান গ্রহণ করে।
আপনি যদি এই পদ্ধতিতে সত্য পাস করেন তবে এটি ডাটাবেসের স্বয়ংক্রিয়-কমিট বৈশিষ্ট্যটি চালু করে এবং যদি আপনি এই পদ্ধতিতে মিথ্যা পাস করেন তবে এটি ডাটাবেসের স্বয়ংক্রিয়-কমিট বৈশিষ্ট্যটি বন্ধ করে দেয়।
আপনি এই পদ্ধতিটি ব্যবহার করে ডাটাবেসের স্বয়ংক্রিয় প্রতিশ্রুতি বৈশিষ্ট্য চালু করতে পারেন:
Con.setAutoCommit(false);
উদাহরণ
নিম্নলিখিত প্রোগ্রাম ব্যাচ প্রক্রিয়াকরণ ব্যবহার করে এই টেবিলে ডেটা সন্নিবেশ করায়। এখানে আমরা অটো কমিট মিথ্যা সেট করি, একটি ব্যাচে প্রয়োজনীয় স্টেটমেন্ট যোগ করি, ব্যাচ এক্সিকিউট করি এবং তারপর ডাটাবেস নিজেরাই কমিট করি।
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class BatchProcessing_Statement {
public static void main(String args[])throws Exception {
//Getting the connection
String mysqlUrl = "jdbc:mysql://localhost/sampleDB";
Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
System.out.println("Connection established......");
//CREATE TABLE Dispatches( Product_Name VARCHAR(255), Name_Of_Customer
VARCHAR(255), Month_Of_Dispatch VARCHAR(255), Price INT, Location VARCHAR(255));
//Creating a Statement object
Statement stmt = con.createStatement();
//Setting auto-commit false
con.setAutoCommit(false);
//Statements to insert records
String insert1 = "INSERT INTO Dispatches( Product_Name , Name_Of_Customer , "
+ "Month_Of_Dispatch , Price, Location) VALUES "
+ "('KeyBoard', 'Amith', 'January', 1000, 'hyderabad')";
String insert2 = "INSERT INTO Dispatches( Product_Name , Name_Of_Customer , "
+ "Month_Of_Dispatch , Price, Location) VALUES "
+ "('Earphones', 'SUMITH', 'March', 500, 'Vishakhapatnam')";
String insert3 = "INSERT INTO Dispatches( Product_Name , Name_Of_Customer , "
+ "Month_Of_Dispatch , Price, Location) VALUES "
+ "('Mouse', 'Sudha', 'September', 200, 'Vijayawada')";
//Adding the statements to the batch
stmt.addBatch(insert1);
stmt.addBatch(insert2);
stmt.addBatch(insert3);
//Executing the batch
stmt.executeBatch();
//Saving the changes
con.commit();
System.out.println("Records inserted......");
}
} আউটপুট
Connection established...... Records inserted......