本文目錄一覽:
java中jdbc多表操作如何事物回滾
可以把要執行的四個SQL語句寫到同一個List中再調用此方法
你也可以自己寫
主要注意
執行sql插入前要取消自動提交
con.setAutoCommit(false);
全部sql語句執行完成後再提交
con.commit();
執行過程拋出異常則回滾
con.rollback();
希望對你有幫助
public
boolean
exeupdate(ListString
sqls)
throws
SQLException
{
boolean
flag
=
false;
openPoolConnection();//創建連接
try
{
//
con.setAutoCommit(false);//取消自動提交
for(int
i=0;isqls.size();i++)
{
pstmt
=
con.prepareStatement(sqls.get(i));
int
rows
=
pstmt.executeUpdate();
}
flag
=
true;
con.commit();//提交
}
catch
(Exception
e)
{
con.rollback();//回滾
e.printStackTrace();
}
finally
{
this.closeAll();//關閉連接
數據集
語句對象
}
return
flag;
}
在Java中事物的提交和回滾是什麼意思?
向數據庫提交數據或修改數據,如果你覺得沒有問題,就可以提交,如果其中有一個環節出錯了,就可以設置回滾,可以根據判斷進行回滾,不是非要出異常了才回滾,如何回滾如何提交要看你的業務邏輯。
比如:
你去銀行轉賬,轉賬我們有兩步吧,從你賬戶中取出錢再往他賬戶中加錢。那這兩步銀行是必須要確保正確無誤的進行的。要被看做成一個事務。其中任何一步出錯就算是轉賬失敗,但可能你這時是已經從你賬戶中扣了錢了,又沒往他賬戶里加錢,怎麼辦?銀行會事務回滾,不保存你剛才的操作,即恢復到你沒轉賬之前的狀態。
請教:如何在java程序中實現數據操作的「回滾」
–事務處理:
begin tran –開始處理數據時,開啟事務
–下面是具體的處理語句
insert into 表 values(1)
if @@error0 –如果處理語句出錯,回滾事務
begin
rollback tran
goto lbexit
end
update 表 set 字段=1
if @@error0 –如果處理語句出錯,回滾事務
begin
rollback tran
goto lbexit
end
commit tran –所有執行成功,提交事務
lbexit:
JAVA的話,可以在連接對象上啟用事務
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/183354.html