事務例子 模擬轉賬

2021-09-24 03:30:53 字數 3116 閱讀 9823

需求:

需求:

有乙個轉賬功能

service:

transfer(to,from,money)

reducebalance(to,money)

模擬錯誤i=5/0;

increasebalance(from,money);

dao:

reducebalance(userid,money)

increasebalance(userid,money)

不包含事務:dao:

;//將hashmap轉成json字串

}不含事務模擬前轉賬:

不含事務模擬前轉賬模擬錯誤:

包含事務:

;//將hashmap轉成json字串

}模擬賺錢包含事務:可以正常轉賬,當模擬錯誤時都沒有轉賬

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 ...

事務(轉賬功能)

轉賬時必須雙方同時成功,要麼同時失敗,就是把雙方組成單元放到事務中 1 顯示的開啟乙個事務 start transaction 2 事務提交 commit代表從開啟事務到事務提交 中間的所有的sql都認為有效 真正的更新資料庫 3 事務的回滾 rollback 代表事務的回滾 從開啟事務到事務回滾 ...

事務完成轉賬功能。

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