Spring mvc注解方式使用事务回滚

项目名:1ma1ma

jdbc.xml

    <bean  id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" 
           p:driverClassName="${jdbc.driverClassName}"
           p:url="${jdbc.url}"
           p:username="${jdbc.username}"
           p:password="${jdbc.password}"
           p:maxActive="${jdbc.pool-size}"
           p:minEvictableIdleTimeMillis="600000" p:timeBetweenEvictionRunsMillis="900000"
           p:removeAbandoned="true" p:logAbandoned="true" p:removeAbandonedTimeout="120"
           p:maxWait="5000"
    />

<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
        <property name="dataSource">  
            <ref local="dataSource" />  
        </property>  
    </bean>  
    <tx:annotation-driven transaction-manager="transactionManager" />
    <context:component-scan base-package="com.yaoma.*">   
        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" />   
    </context:component-scan>  



servlet-context.xml


    <context:component-scan base-package="com.yaoma.*" >   
        <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />   
        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service" />    
    </context:component-scan>  



    @Transactional
    public int delete(String IMGroupID, String userid) throws Exception {
        //按照IMGroupID和userid更新对应的Groups表内容
        int is_return = Groups_Dao.IsDeleted_Groups(IMGroupID, userid, 0);
        if (is_return == 0) {
            throw new RuntimeException("is_return is 0;");
        }


        //去环信上删除对应的数据
        String hx_return = HX_Service.delete_group(IMGroupID);
        if (hx_return == null) {
            throw new RuntimeException("hx_return is null");
        }
        return Integer.parseInt(hx_return);
    }



    @Transactional注解标签

因为在运行中,所以使用RuntimeException进行异常抛出,类中不能使用try捕捉异常,直接throws Exception抛出异常

如运行时使用Exception抛出异常,则回滚无效

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。