在 MyBatis 中,可以使用以下两种方法来创建事务:
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
// 执行数据库操作
sqlSession.insert("insertUser", user);
sqlSession.update("updateUser", user);
// 提交事务
sqlSession.commit();
} catch (Exception e) {
// 回滚事务
sqlSession.rollback();
} finally {
sqlSession.close();
}
@Service
@Transactional
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public void addUser(User user) {
userMapper.insertUser(user);
userMapper.updateUser(user);
}
}
无论使用哪种方式,都可以实现 MyBatis 的事务管理。编程式事务管理需要手动处理事务的提交和回滚,而声明式事务管理则更加方便,只需要在需要事务管理的方法或类上添加 @Transactional 注解即可。