Python语言技术文档

微信小程序技术文档

php语言技术文档

jsp语言技术文档

asp语言技术文档

C#/.NET语言技术文档

html5/css技术文档

javascript

点击排行

您现在的位置:首页 > 技术文档 > jsp框架

spring实现jdbctemplate添加事务支持示例

来源:中文源码网    浏览:290 次    日期:2024-05-16 13:47:41
【下载文档:  spring实现jdbctemplate添加事务支持示例.txt 】


spring实现jdbctemplate添加事务支持示例
复制代码 代码如下:public interface JdbcTemplate extends JdbcOperations {public abstract void beginTranstaion();
public abstract void commit();
public abstract void rollback();}
复制代码 代码如下:public class JdbcTemplateImpl extends org.springframework.jdbc.core.JdbcTemplate implements JdbcTemplate {
private PlatformTransactionManager platformTransactionManager; private DefaultTransactionDefinition transactionDefinition; private ThreadLocal transcationStatus = new ThreadLocal();
public void beginTranstaion() { TransactionStatus tmp = platformTransactionManager.getTransaction(transactionDefinition); transcationStatus.set(tmp); }
public void commit() { TransactionStatus tmp = transcationStatus.get(); if (tmp == null) { throw new RMSRuntimeException("no transcation"); } platformTransactionManager.commit(tmp); transcationStatus.remove(); }
public void rollback() { TransactionStatus tmp = transcationStatus.get(); if (tmp == null) { throw new RMSRuntimeException("no transcation"); } platformTransactionManager.rollback(tmp); transcationStatus.remove();
}
@Override public void afterPropertiesSet() { super.afterPropertiesSet(); transactionDefinition = new DefaultTransactionDefinition(); transactionDefinition.setIsolationLevel(TransactionDefinition.ISOLATION_READ_COMMITTED); transactionDefinition.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); platformTransactionManager = new DataSourceTransactionManager(getDataSource());
}
public PlatformTransactionManager getPlatformTransactionManager() { return platformTransactionManager; }
public DefaultTransactionDefinition getTransactionDefinition() { return transactionDefinition; }
public ThreadLocal getTranscationStatus() { return transcationStatus; }
}

相关内容