码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2015-06-02 11:11:34      阅读:3525      评论:0      收藏:0      [点我收藏+]

标签:java   spring   事务   异常   回滚   

项目名: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抛出异常,则回滚无效

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

标签:java   spring   事务   异常   回滚   

原文地址:http://blog.csdn.net/ufo2910628/article/details/46325651

(1)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!