1.在配置文件中设置事物并开启事物
<!-- 事物 -->
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"/>
<!-- 开启事物 -->
<tx:annotation-driven transaction-manager="transactionManager"/>
<!-- 数据库访问层 -->
<bean id="baseHiberate" class="bh.test.BaseHiberate" />
<!-- 服务层(配置事物) -->
<bean id="baseService" class="bh.test.BaseService" />
2.编写受事物控制的类
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
//事物控制标志
@Transactional
public class BaseService {
private BaseHiberate baseHiberate;
public BaseHiberate getBaseHiberate() {
return baseHiberate;
}
public void setBaseHiberate(BaseHiberate baseHiberate) {
this.baseHiberate = baseHiberate;
}
//出现异常时事物不回滚
@Transactional(propagation = Propagation.REQUIRED,rollbackFor =Exception.class)
public void insert(){
baseHiberate.testSql();
}
//出现异常时事物回滚
@Transactional(propagation = Propagation.REQUIRED,noRollbackFor =Exception.class)
public void insertsql() throws Exception{
String sql="insert into test_1(name,age) values('1234567',13)";
baseHiberate.insertSql(sql);
}
}