Spring入门到精通:第六章 Spring事务管理:5.事务操作-场景引入和Spring事务管理介绍

上面的代码,如果正常执行的话没有什么问题的,但是如果代码执行过程中出现异常的话就有很大的问题了,就会出现数据不一致了。

 

一、异常演示

       我们在zhangsan扣减金额之后模拟一个异常来看下,代码如下:

public void transferMoney() {

    //减少钱
    accountDao.updateMoneyByName("zhangsan",new BigDecimal(-100));

    //模拟异常...
    int i = 1/0;w
    //增加钱
    accountDao.updateMoneyByName("lisi", new BigDecimal(100));
}

       我们在运行下:我们会发现这样的情况,zhangsan的账号钱少了,李四的账户钱不变,这样就有问题了,凭空消失了100元。

 

二、异常解决:未引入Spring事务管理

悟纤 CSDN认证博客专家 知远公司创始人 架构师 访问1000万+
「公众号SpringBoot」:
①阿里巴巴前高级研发工程师;
②估值20亿美金的Blued架构师;
③北京知远公司创始人;
④浙江甄才公司架构师;
⑤云课堂学员10000+;
⑥博客访问量1000万+;
⑦10年互联网行业从业;
⑧360万的访问《从零开始学SprngBoot》作者;
⑨技术加盟多个独立项目。
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 酷酷鲨 设计师:CSDN官方博客 返回首页
实付 9.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值