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<TransactionStatus> transcationStatus = new ThreadLocal<TransactionStatus>();
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<TransactionStatus> getTranscationStatus() {
return transcationStatus;
}
}
相关文章
JSP 中Spring的Resource类读写中文Properties实例代码
这篇文章主要介绍了JSP 中Spring的Resource类读写中文Properties实例代码的相关资料,需要的朋友可以参考下2017-03-03Tomcat5+Mssql server 2000数据库连接池配置之旅
Tomcat5+Mssql server 2000数据库连接池配置之旅...2006-10-10jsp使用sessionScope获取session案例详解
这篇文章主要介绍了jsp使用sessionScope获取session案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下2021-08-08
最新评论