type
status
date
slug
summary
tags
category
icon
password
Property
Mar 22, 2025 01:49 AM
MySQL 一个简单事务的sql脚本格式如下:
如果开启了事务一直没有commit,那么 50s 之后会自动回滚
查询自动回滚时间
SHOW VARIABLES LIKE 'innodb_lock_wait_timeout';
为什么要显示的调用 rollback?
出现错误的时候,不用显式调用 rollback,会自动回滚。
但是有一种需求是:没有出现错误,但是我们需要判断满足某种情况后,也需要回滚,这个时候就需要显式调用 rollback 了。
SpringBoot 中在方法中开启事务的例子
Spring Boot 中使用声明式事务时,你需要在适当的方法或类上添加
@Transactional
注解来指示 Spring 在方法执行期间开启、提交和回滚事务。声明式事务可以简化事务管理,使得在方法层面定义事务行为更加方便。下面是一个在 Spring Boot 中使用声明式事务的简单例子:
- 首先,确保在 Spring Boot 应用程序的配置类上启用事务管理器。可以在主应用程序类上添加
@EnableTransactionManagement
注解:
- 接下来,创建一个包含事务操作的服务类。在这个例子中,我们模拟一个银行服务,其中包含从一个账户向另一个账户转账的方法: