spring實(shí)現(xiàn)jdbctemplate添加事務(wù)支持示例
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;
}
}
相關(guān)文章
使用maven+eclipse搭建struts2開(kāi)發(fā)環(huán)境
Struts 2是Apache基金會(huì)的明星級(jí)產(chǎn)品,提供了對(duì)MVC的一個(gè)清晰的實(shí)現(xiàn),下面就為大家介紹一下使用maven+eclipse搭建struts2開(kāi)發(fā)環(huán)境的方法2014-01-01
Struts2.5 利用Ajax將json數(shù)據(jù)傳值到JSP的實(shí)例
下面小編就為大家?guī)?lái)一篇Struts2.5 利用Ajax將json數(shù)據(jù)傳值到JSP的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09
java解析出url請(qǐng)求的路徑和參數(shù)鍵值對(duì)類(lèi)(解析出url請(qǐng)求的路徑,包括頁(yè)面)
解析url,本想用正則表達(dá)式處理,但正則表達(dá)式速度較慢。用split處理一下就可以了2012-06-06
jsp防止跨域提交數(shù)據(jù)的具體實(shí)現(xiàn)
這篇文章主要介紹了jsp防止跨域提交數(shù)據(jù)的具體實(shí)現(xiàn),需要的朋友可以參考下2014-02-02
jsp利用echarts實(shí)現(xiàn)報(bào)表統(tǒng)計(jì)的實(shí)例
echarts用來(lái)做數(shù)據(jù)報(bào)表的一個(gè)展示效果了,本文介紹了jsp利用echarts實(shí)現(xiàn)報(bào)表統(tǒng)計(jì)的實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2016-10-10
使用JSP + JAVABEAN + XML 開(kāi)發(fā)的一個(gè)例子
使用JSP + JAVABEAN + XML 開(kāi)發(fā)的一個(gè)例子...2006-10-10
Http請(qǐng)求長(zhǎng)時(shí)間等待無(wú)結(jié)果返回解決辦法
這篇文章主要介紹了Http請(qǐng)求長(zhǎng)時(shí)間等待無(wú)結(jié)果返回解決辦法的相關(guān)資料,需要的朋友可以參考下2017-04-04

