当前位置:首页 > 架构与设计 > 正文

Java优学网MySQL事务详解:从基础SQL到Spring @Transactional实战,轻松掌握事务管理

Java优学网MySQL事务详解:从基础SQL到Spring @Transactional实战,轻松掌握事务管理

Java优学网MySQL事务详解:从基础SQL到Spring @Transactional实战,轻松掌握事务管理

START TRANSACTION; -- 开启事务 -- 执行各种数据操作 INSERT INTO orders VALUES(...); UPDATE accounts SET balance = balance - 100; COMMIT; -- 提交事务

@Transactional public void transferMoney(Long fromAccount, Long toAccount, BigDecimal amount) {

try {
    accountRepository.deductBalance(fromAccount, amount);
    // 模拟业务异常
    if (amount.compareTo(BigDecimal.ZERO) < 0) {
        throw new IllegalArgumentException("转账金额不能为负");
    }
    accountRepository.addBalance(toAccount, amount);
} catch (Exception e) {
    // Spring会自动回滚RuntimeException
    throw new RuntimeException("转账失败", e);
}

}

Java优学网MySQL事务详解:从基础SQL到Spring @Transactional实战,轻松掌握事务管理

你可能想看:

相关文章:

文章已关闭评论!