首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Spring Transaction 2: 编程式式事务管理

2012-11-05 
Spring Transaction 二: 编程式式事务管理编程式式事务管理1. 使用PlatformTransactionManagerimport org.

Spring Transaction 二: 编程式式事务管理
编程式式事务管理

1. 使用PlatformTransactionManager

import org.springframework.transaction.PlatformTransactionManager;import org.springframework.transaction.TransactionDefinition;import org.springframework.transaction.TransactionStatus;import org.springframework.transaction.support.DefaultTransactionDefinition;public class Test4 {private PlatformTransactionManager transactionManager;public void setTransactionManager(PlatformTransactionManager stransactionManager){this.transactionManager=stransactionManager;}public void doUpdate() throws Throwable {// TODO Auto-generated method stubTransactionDefinition transactionDefinition=new DefaultTransactionDefinition(TransactionDefinition.PROPAGATION_REQUIRED);TransactionStatus transactionStatus=this.transactionManager.getTransaction(transactionDefinition);try{System.out.println("do some thing");this.transactionManager.commit(transactionStatus);}catch(Throwable t){    this.transactionManager.rollback(transactionStatus);    throw t;}}}



2. 如果系统的几个地方都使用编程式事务管理, 使用事务的模板方式


import org.springframework.transaction.PlatformTransactionManager;import org.springframework.transaction.TransactionDefinition;import org.springframework.transaction.TransactionStatus;import org.springframework.transaction.support.DefaultTransactionDefinition;import org.springframework.transaction.support.TransactionCallbackWithoutResult;import org.springframework.transaction.support.TransactionTemplate;public class Test5 {    private TransactionTemplate transactionTemplate;public void setTransactionManager(PlatformTransactionManager stransactionManager){this.transactionTemplate=new TransactionTemplate(stransactionManager);}public void doUpdate() throws Throwable {// TODO Auto-generated method stubthis.transactionTemplate.execute(new TransactionCallbackWithoutResult(){protected void doInTransactionWithoutResult(TransactionStatus status){  System.out.println("do something");}});}}


热点排行