当前位置: 移动技术网 > IT编程>开发语言>Java > spring实现jdbctemplate添加事务支持示例

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

2017年12月12日  | 移动技术网IT编程  | 我要评论
复制代码 代码如下:public interface jdbctemplate extends jdbcoperations {public abstract void b

复制代码 代码如下:

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

}

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网