首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

JavaBean 中使用 JDBC 實現事務處理:轉賬業務經典案例

     編輯:Java 相關知識

事務是由一條或多條 SQL 更新語句組成的不可分割工作單元。全成功提交,一失敗全回滾。核心方法在 java.sql.Connection:commit()、rollback()。

關鍵步驟

  1. 獲取連接後調用 conn.setAutoCommit(false) 禁用自動提交
  2. 執行多條更新 SQL
  3. 全成功調用 conn.commit() 統一提交
  4. 捕獲 SQLException 時調用 conn.rollback() 回滾
  5. finally 塊關閉 Statement 與 Connection

轉賬業務示例

String sql1 = "update useraccount set money=money-1000 where name='username'";
String sql2 = "update sysaccount set money=money+1000 where name='sysname'";

conn.setAutoCommit(false);
stmt.executeUpdate(sql1);
stmt.executeUpdate(sql2);
conn.commit();  // 統一提交
// 異常時 rollback()

若無手動事務控制,第一條成功第二條失敗將導致數據不一致,手動提交有效防範此風險。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved