यदि आप सादे JDBC का उपयोग कर रहे हैं, तो आप क्या कर सकते हैं Connection
. का एक ही उदाहरण साझा करें डीएओ कक्षाओं के दो उदाहरणों में।
public class EmployeeDAO {
private Connection conn;
public void setConnection(Connection conn) {
this.conn = conn;
}
...
}
public class BankDAO {
private Connection conn;
public void setConnection(Connection conn) {
this.conn = conn;
}
...
}
क्लाइंट कोड में, सबसे पहले आपको एक Connection
create बनाना होगा वस्तु उदाहरण। इसके बाद, आपको conn.setAutoCommit(false);
. के साथ लेन-देन शुरू करने की आवश्यकता है . Connection
पास करें दोनों डीएओ वर्गों के लिए वस्तु उदाहरण। अगर किसी भी ऑपरेशन में कोई त्रुटि नहीं होती है, conn.commit();
, अन्यथा, conn.rollback();
उदा.:
Connection conn = null;
try {
// getConnection from pool
conn.setAutoCommit(false);
EmployeeDAO employeeDAO = new EmployeeDAO();
employeeDAO.setConnection(conn);
BankDAO bankDAO = new BankDAO();
bankDAO.setConnection(conn);
// save employee
// save bank details
conn.commit();
catch(Exception e) {
if (conn != null) {
conn.rollback();
}
} finally {
if (conn != null) {
conn.close();
}
}