以甲向乙轉賬100元為例:
MySQL事務由InnoDB存儲引擎實現。
您可以使用以下命令顯式打開事務:
另外,在自動提交模式下,我們執行的每壹條SQL語句都是壹個獨立的事務;如果關閉了自動提交模式,所有SQL語句都在壹個事務中,直到執行提交或回滾,事務結束,同時啟動另壹個事務。
MySQL事務的ACID特征通過以下機制實現:
Go語言中的Gorm提供了對事務操作的支持:
此外,還有嵌套事務和手動事務等操作。妳可以參考中文文件:learnku.com/docs/gorm/v…
@Transactional批註必須添加到public方法中,這對private和protected方法無效。
壹般情況下,建議在方法中添加@Transactional批註,因為@Transactional批註是直接添加到類或接口中的,而@Transactional批註將對類或接口中的所有公共方法有效,這會影響性能。