Spring-事务控制案例--编程式事务控制

案例环境

在这里插入图片描述

1.编程式事务

步骤:
1.创建平台事务管理对象(PlatformTransactionManager)
4.创建事务定义对象
3.事务状态
2.提交事务(commit)


public class AccountServiceImpl implements AccountService {

    private AccountDao accountDao;
    public void setAccountDao(AccountDao accountDao) {

        this.accountDao = accountDao;
    }

   private DataSource dataSource;
   public void setDataSource(DataSource dataSource) {
       this.dataSource = dataSource;    }

    public void transfer(String outName, String inName, Double money) {
        //1.开启事务   创建平台事务控制管理器  需要添加数据源对象 不然事务不知道控制什么
        PlatformTransactionManager ptm=new DataSourceTransactionManager(dataSource);
        //1.创建数据源事务管理对象 添加数据源
        /*DataSourceTransactionManager dtm=new DataSourceTransactionManager();
        dtm.setDataSource(dataSource);*/
        
        accountDao.inMoney(outName,money);
        int i = 1/0;
        accountDao.outMoney(inName,money);

        //4.创建事务定义对象
        TransactionDefinition td=new DefaultTransactionDefinition();

        //3.事务状态
        TransactionStatus ts=ptm.getTransaction(td);
        //2.提交事务
        ptm.commit(ts);
    }


小节

  • 使用spring提供的专用于mybatis的事务管理器在业务层硬编码进行事务管理。
  • 业务层要注入dataSource对象
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值