事务控制方式都是使用事务的核心对象,也就是那三个接口
- PlatformTransactionManager
- TransactionDefinition
- TransactionStatus
以下的内容基于一个银行转账业务
-
银行转账业务说明
- 银行转账操作中,涉及从A账户到B账户的资金转移操作。数据层仅提供单条数据的基础操作,未设计多账户间的业务操作。
- 数据层有对指定账号加钱和减钱的操作,但是在数据层上没有一个直接完成由A到B的一个转账的这个业务操作
- 加钱和减钱的操作到了业务层后,通过功能组合,组合出一个转钱操作出来,最终由这个转账操作来完成由A到B的一个金额的转移
- 我们这个案例没有第三方,和实际操作不一样
-
文件格式就是之前的xml方式整合MyBatis的内容差不多
-
业务层service出现的问题:在转账操作的时候发送了异常
public void transfer(String outName, String inName, Double money) { accountDao.inMoney(outName,money);//进账 int i = 1/0; accountDao.outMoney(inName,money);//出账 }