springboot-jdbc 事务控制
发表于:2022-06-23 10:28:40浏览:279次
Springboot 事务控制,添加依赖,springboot 开启事务管理
org.springframework.boot spring-boot-starter-jdbc
注解方式 @Transactional,自动开启事务,异常自动回滚
@Transactional public String functionName(){ ....//业务代码 }
注解方式@Transactional + try/catch 自动开启事务,catch手动回滚
@Transactional public String functionName(){ try{ ....//业务代码 }catch(Exception exception){ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//关键,try/catch会导致事务不回滚,主动回滚 } }
手动开启事务 + try/catch 手动回滚
@Autowired DataSourceTransactionManager dataSourceTransactionManager; @Autowired TransactionDefinition transactionDefinition; public String functionName(){ TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition);//开启事务 try { ....//业务代码 dataSourceTransactionManager.commit(transactionStatus);//提交 }catch (Exception exception){ dataSourceTransactionManager.rollback(transactionStatus);//回滚 } }