spring手动开启、提交、回滚事务
spring配置文件:
<!-- (事务管理) --> <bean name="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> <!-- 使用annotation定义事务 --> <tx:annotation-driven transaction-manager="transactionManager" />
java文件中的使用:
@Autowired private DataSourceTransactionManager transactionManager;
//1.获取事务定义 DefaultTransactionDefinition def = new DefaultTransactionDefinition(); //2.设置事务隔离级别,开启新事务 def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW); //3.获得事务状态 TransactionStatus status = transactionManager.getTransaction(def);
// 事务回滚 transactionManager.rollback(status);
// 事务提交 transactionManager.commit(status);