1. 程式人生 > >第10講 接上一篇第10講 SpringBoot事物管理

第10講 接上一篇第10講 SpringBoot事物管理


9,在accountServiceImpl中的方法中設定異常程式碼 int num =1/0,測試,

 

public void transferAccounts(int fromUser, int toUser, float account) {
        
        Account fromAccount = accountDao.findById(fromUser).get();
        fromAccount.setBalance(fromAccount.getBalance()-account);
        accountDao.save(fromAccount);
        
        Account toAccount = accountDao.findById(toUser).get();
        toAccount.setBalance(toAccount.getBalance()+account);
        int num= 1/0;
        accountDao.save(toAccount);
    }

 

測試結果:

10.2接上一篇10.1_SpringBoot事物管理

 


10,在accountServiceImpl中的方法上新增事物註解  @Transactional,測試,注意導哪個包

import javax.transaction.Transactional;

 

@Transactional
public void transferAccounts(int fromUser, int toUser, float account) {
        
        Account fromAccount = accountDao.findById(fromUser).get();
        fromAccount.setBalance(fromAccount.getBalance()-account);
        accountDao.save(fromAccount);
        
        Account toAccount = accountDao.findById(toUser).get();
        toAccount.setBalance(toAccount.getBalance()+account);
        int num= 1/0;
        accountDao.save(toAccount);
    }