当前位置: 代码迷 >> J2EE >> 待 Spring + ibatis 事务有关问题
  详细解决方案

待 Spring + ibatis 事务有关问题

热度:400   发布时间:2016-04-22 01:30:30.0
在线等待 Spring + ibatis 事务问题。
Java code
    public boolean insertTxTest() {        try {// 添加异常捕获 事务不能回滚 name 是主键,不添加异常捕获 事务正常回滚。            UserBean userBean = new UserBean();            userBean.setName("张三");            userBean.setPw("123456");            getSqlMapClientTemplate().insert("tx.insert",userBean);            getSqlMapClientTemplate().insert("tx.insert",userBean);            return true;        } catch (Exception e) {            e.printStackTrace();        }        return false;    }

XML code
<!-- 事务处理器 -->    <bean        class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">        <property name="beanNames">            <list>                <value>txTestDao</value>            </list>        </property>        <property name="interceptorNames">            <list>                <value>transactionInterceptor</value>            </list>        </property>    </bean>    <bean id="transactionInterceptor"        class="org.springframework.transaction.interceptor.TransactionInterceptor">        <property name="transactionManager" ref="transactionManager" />        <property name="transactionAttributes">            <props>                <prop key="*">PROPAGATION_REQUIRED,-Exception</prop>            </props>        </property>    </bean>

现在问题是怎么在添加 异常捕获 情况下 事务也正常回滚。
谢谢

------解决方案--------------------
我只知道"添加 异常捕获 情况下"spring没法回滚的,还是在action层捕获异常吧
boolean result=false;
try{
result=insertTxTest();
}catch (Exception e) {
e.printStackTrace();
}
  相关解决方案