java中jdbc事務管理

2021-07-13 08:27:39 字數 786 閱讀 5751

事務的好處就是保證多表操縱的一致性。事務具有原子性,乙個事務內的操作要麼全部執行成功,要麼全部執行失敗,預設情況下,jdbc對資料庫的操作是自動提交的。我們通過conn.setautocommit(false);可以設定為自動提交,如果其中有一步操作失敗,可以使用rollback進行回滾。

下面的例子先執行插入,後執行刪除,如果中間有異常,可以使用rollback進行回滾

//建立連線

public static connection createcon()

catch (classnotfoundexception e) //classloader,載入對應驅動

try catch (sqlexception e)

return conn;

}

connection  conn=dao.createcon();

try catch (sqlexception e) ;

//製造異常

string ss="aa";

integer.parseint(ss);

//刪除操作

string sql="delete from skus where skucode='00005' ";

try catch (sqlexception e) ;

conn.commit();//手動提交

} catch (sqlexception e) catch (sqlexception e1)

}

JDBC事務管理

問題 jdbc中,事務是自動提交的 因此 如果在事務的處理過程中,某條sql語句執行失敗,但此時事務已經自動提交,資料也已經被更改 解決辦法 設定jdbc的事務為手動提交 sql語句都執行成功後再統一提交,只要有失敗的就回滾 jdbc的事務管理 轉賬業務 示例 張三給李四轉賬1000元.注意 jdb...

JDBC事務管理

1 用事務的方法第一行,開啟事務。threadlocal儲存開啟事務後的connection.然後將threadlocal,放到context中 快取中 在各個dao裡面,直接從context中獲取connection.不知道可不可行?是個大大的 xx 2 用乙個count來記錄事務的層數?每巢狀一...

JDBC事務管理

事務是包含多個操作的業務,如果這個業務被事務管理,則這多個操作要麼全部被執行,要麼全不執行。具體原理詳見我的sql系列文章 事務 執行sql之前需要開啟事務,建議獲取連線後就將事務開啟。當所有sql完成無錯後,立即提交事務,防止意外導致回滾。在有錯誤丟擲異常的時候回滾事務。注意 1 由於可能面對各種...