大佬們,JDBC的一次Connection是不是代表一次事務,能不能將多次連接下的SQL陳述句指定為一次事務,即只要有一次執行失敗,其余全部回滾。
uj5u.com熱心網友回復:
會話開啟事務,一個會話存在于一個連接。你說的這個跨連接的事務,相當于是分布式事務,需要應用的事務管理器支持分布式事務,并且底層資料庫也支持。uj5u.com熱心網友回復:
這種東西看你怎么實作了,比如:1.如果事務完全是JDBC基礎代碼實作的,那你完全條件化控制所有事務的提交或回滾;
2.如果是使用框架事務控制、容器事務控制這些就要看你所選用的技術方案的實作,一般情況下,都會提供多個操作的連接共享實作;
3.另外就是使用分布式事務控制(JTA),選用合適的JTA驅動,分布式事務的二階段或三階段提交協議會嚴重拖慢程式性能,使用需慎重。
uj5u.com熱心網友回復:
Connection conn = DriverManager.getConnection(...);
try{
con.setAutoCommit(false);
Statement stmt = con.createStatement();
//1 or more queries or updates
con.commit();
}catch(Exception e){
con.rollback();
}finally{
con.close();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/26036.html
標籤:Java SE
上一篇:定義一個三角形類,要求類中包含構造方法、求周長及面積的方法。最后在測驗類的主方法中為三角形類創建物件并列印輸出三角形的周長及面積。
下一篇:龍書的最小dfa
