编程式事务实现

编程式事务实现

plan1:
在配置类中:

注册 DataSourceTransactionManager,并添加属性dataSource。
注册 TransactionTemplate,并添加属性dataSource。
在service中:

声明 PlatformTransactionManager,在service类全局变量中。
new DefaultTransactionDefinition(),在service类的方法中。
调用 PlatformTransactionManager变量的getTransaction(),并传入DefaultTransactionDefinition的变量,获取到TransactionStatus事务状态对象。
业务完成,则调用PlatformTransactionManager变量的.commit()方法,并传入TransactionStatus事务状态对象。
业务失败,则捕获异常,调用PlatformTransactionManager变量的.rollback()方法,并传入TransactionStatus事务状态对象。
事务配置plan1完成

plan2:
在配置类中:

注册 DataSourceTransactionManager,并添加属性dataSource。
注册 TransactionTemplate,并添加属性dataSource。
在service中:

声明 TransactionTemplate,在service类全局变量中。
调用 TransactionTemplate变量的.execute(),并传入TransactionCallbackWithoutResult对象(匿名方法new出来),然后实现该对象的doInTransactionWithoutResult(TransactionStatus status) {}方法,方法里完成业务。
业务完成,无需操作。(自动使用TransactionCallbackWithoutResult类进行提交,也可以使用TransactionCallback类,获取业务的结果并手动提交)
业务失败,则捕获异常,调用TransactionStatus变量的setRollbackOnly()方法。
事务配置plan2完成

编程式事务由于代码入侵太严重了,因为在实际开发中使用的很少,我们在项目
中更多的是使用声明式事务。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值