mybatis-plus mapper 事务
时间: 2023-06-28 21:08:05 浏览: 99
Mybatis-Plus 提供了简化事务管理的方式。在 Mybatis-Plus 中,我们可以使用 `org.springframework.transaction.annotation.Transactional` 注解来标记需要进行事务管理的方法。在方法上加上该注解,当该方法执行时,如果发生异常,则自动回滚事务。
举个例子:
```java
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
@Autowired
private UserMapper userMapper;
@Override
@Transactional(rollbackFor = Exception.class)
public void updateUser(User user) {
userMapper.updateById(user);
// 执行其他操作
// 如果这里发生异常,则自动回滚事务
}
}
```
在该例子中,我们使用了 `@Transactional` 注解来标记 `updateUser` 方法,表示该方法需要进行事务管理。如果在该方法中发生异常,则自动回滚事务。
需要注意的是,在使用 Mybatis-Plus 进行事务管理时,需要将 `@Transactional` 注解放在 Service 层的方法上,而非 Mapper 层的方法上。这是因为 Mybatis-Plus 是在 Service 层进行事务管理的。如果将 `@Transactional` 注解放在 Mapper 层的方法上,可能会出现事务失效的情况。
阅读全文