springboot配置数据库事务


1、手动控制事务


@Autowired
	DataSourceTransactionManager transactionManager;
	public boolean trans() {
		//事物定义类
		DefaultTransactionDefinition transactionDefinition = new DefaultTransactionDefinition(TransactionDefinition.PROPAGATION_REQUIRED);
		//获取事物对象
		TransactionStatus status = transactionManager.getTransaction(transactionDefinition);
		try{
			// 插入表1
			boolean flag1 = testMapper.sale1();
			if (flag1) {
				// 插入表2
				boolean flag2 = testMapper.sale2();
				if (flag2) {
					//插入成功提交事物
					transactionManager.commit(status);
					return true;
				}else{
					//插入失败抛出异常,使事物回滚
					throw new Exception();
				}
			}
			throw new Exception();
		}catch(Exception e){
			//异常回归事物
			transactionManager.rollback(status);
		}
		return false;
	}

注:方法1手动控制事务处理是正常的,发生异常时,可以回滚事务


2、注入配置事务


<

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值