更新時間:2022-10-13 10:02:21 來源:動力節點 瀏覽1843次
如何在JDBC中開啟事務?動力節點小編來告訴大家。事務是針對數據庫執行的工作單元。事務是按邏輯順序完成的工作單元或序列,無論是由用戶以手動方式還是由某種數據庫程序自動完成。
事務是對數據庫的一項或多項更改的傳播。例如,如果您正在創建記錄或更新記錄或從表中刪除記錄,那么您正在對該表執行事務。控制這些事務以確保數據完整性和處理數據庫錯誤非常重要。
執行所需操作后,您可以使用 commit 命令結束/保存事務。在 JDBC 應用程序中,您可以使用連接接口的commit()方法來執行此操作。
每當事務中出現問題時,您都可以使用回滾恢復數據庫中所做的更改。
一般來說,在 JDBC 中,在您建立連接后,默認情況下,您的連接將處于自動提交模式,即您使用此連接執行的每條語句都會自動保存,這意味著數據庫管理自己的事務和每個單獨的 SQL 語句被視為交易。
您可以通過關閉自動提交模式來啟用手動事務支持。為此,您需要將布爾值 false 傳遞給Connection接口的setAutoCommit()方法。
conn.setAutoCommit(false);
以下程序使用批處理將數據插入到該表中。這里我們將自動提交設置為false,將所需的語句添加到批處理中,執行批處理然后自己提交數據庫。
onth_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......
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習