事務(轉賬功能)

2022-07-29 01:57:09 字數 1571 閱讀 3013

轉賬時必須雙方同時成功,要麼同時失敗,就是把雙方組成單元放到事務中

1)顯示的開啟乙個事務:start transaction

2)事務提交:commit代表從開啟事務到事務提交 中間的所有的sql都認為有效   真正的更新資料庫

3)事務的回滾:rollback 代表事務的回滾 從開啟事務到事務回滾 中間的所有的   sql操作都認為無效資料庫沒有被更新

預設是自動事務:

執行sql語句:executeupdate()  ---- 每執行一次executeupdate方法 代表     事務自動提交

通過jdbc的api手動事務:

開啟事務:conn.setautocomnmit(false);

提交事務:conn.commit();

回滾事務:conn.rollback();

注意:控制事務的connnection必須是同乙個

執行sql的connection與開啟事務的connnection必須是同乙個才能對事務進行控制

        1)原子性(atomicity)原子性是指事務是乙個不可分割的工作單位,事務中的操作          要麼都發生,要麼都不發生。 

        2)一致性(consistency)乙個事務中,事務前後資料的完整性必須保持一致。

        3)隔離性(isolation)多個事務,事務的隔離性是指多個使用者併發訪問資料庫時,             乙個使用者的     事務不能被其它使用者的事務所干擾,多個併發事務之間資料要相互隔離。

        4)永續性(durability)永續性是指乙個事務一旦被提交,它對資料庫中資料的改變          就是永久性的,接下來即使資料庫發生故障也不應該對其有任何影響。

轉賬功能

事務完成轉賬功能。

事務的特性acid 原子性 atomicity 指事務是乙個不可分割的工作單位,事務中的操作。要麼都發生,要麼都不發生。一致性 consistency 乙個事務中,事務前後資料的完整性必須保持一致。隔離性 isolation 是指多個使用者併發訪問資料庫時,乙個使用者的 事務不能被其它使用者的事務所...

事務例子 模擬轉賬

需求 需求 有乙個轉賬功能 service transfer to,from,money reducebalance to,money 模擬錯誤i 5 0 increasebalance from,money dao reducebalance userid,money increasebalanc...

mysql模擬事務轉賬

測試事務 建立表create table account id int 3 notnull auto increment name varchar 30 not null money decimal 9 2 not null primary key id engine innodb default ...