mybatisplus事务回滚使用
时间: 2024-01-16 14:18:45 浏览: 207
MyBatisPlus基础使用代码
以下是使用Mybatis Plus进行事务回滚的示例:
```java
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
@Transactional(rollbackFor = Exception.class)
public void updateUser(User user) {
try {
// 更新用户信息
userMapper.updateById(user);
// 手动触发事务回滚
throw new RuntimeException("手动触发事务回滚");
} catch (Exception e) {
// 异常处理
throw new RuntimeException("更新用户信息失败");
}
}
}
```
在上述示例中,我们使用`@Transactional`注解来标记事务的边界。`rollbackFor`属性用于指定需要回滚的异常类型,这里我们设置为`Exception.class`,表示遇到任何异常都会触发事务回滚。
当执行`updateUser`方法时,如果在更新用户信息后手动抛出异常,事务将会回滚,即更新操作不会生效。
请注意,为了使事务生效,需要在Spring Boot的配置文件中开启事务管理器。
阅读全文