复制代码 代码如下: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

复制代码 代码如下:

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;
}

}

关键字标签:

上一篇:通过spring用beanshell实现java接口示例
下一篇:jsp中文显示问号问题解决方法