jdbc處理事務操作

2021-10-05 00:23:20 字數 1032 閱讀 7384

前提:如果有多個操作,則必須保證所有的操作都同時使用乙個連線,則無法保證事務

①:開啟事務,取消connection的預設提交功能

connection.setautocommit(false);

②:具體操作步驟

③:操作成功則提交事務,丟擲異常則回滾事務(在catch塊中)

connection.commit(); / connection.rollback();

原子性:事務是乙個不可分割的工作單位,事務中的操作要麼都傳送,要麼都不發生

一致性:事務必須使資料庫從乙個一致性狀態變換到另外乙個一致性狀態

隔離性:事務的隔離性是指乙個事務的執行不能被其他事務干擾,即乙個事務內部的操作及使用的資料對併發的其他事務是隔離的,併發執行的各個事務直接不能互相干擾

永續性:事務一旦被提交,它對資料庫中資料的改變就是永久性的,接下來的其他操作和資料庫故障不應該對其有任何影響

public

class

transactiontest

catch

(exception e)

catch

(sqlexception e1)

}finally

}//更新方法

public

void

update

(connection connection,string sql,object .

..args)

preparedstatement.

executeupdate()

;}catch

(exception e)

finally

}}

程式發生異常後,資料庫並未發生改變,成功執行回滾功能

MySQL和JDBC處理事務

在預設情況下,mysql每執行一條sql語句,都是乙個單獨的事務。如果需要在乙個事務中包含多條sql語句,那麼需要開啟事務和結束事務。開啟事務 start transaction 結束事務 commit或rollback 在執行sql語句之前,先執行start transaction,這就開啟了乙個...

Spring處理事務

不同的訪問資料庫方式有不同的事務處理機制 物件 方法。而spring提供了一種處理事務的統一模型,能使用統一步驟 方式完成多種不同資料庫訪問計數的事務處理。spring處理事務的模型 步驟都是固定的。事務內部提交,回滾事務,使用的都是事務管理器物件,代替我們完成commit,rollback。事務管...

JDBC之批處理 事務 儲存過程

當需要向資料庫傳送一批sql語句執行時,應避免向資料庫一條條的傳送執行,而應採用jdbc的批處理機制,以提公升執行效率。實現批處理有兩種方式,第一種方式 statement.addbatch sql list 執行批處理sql語句 executebatch 方法 執行批處理命令 clearbatch...