• 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抛出异常,则回滚无效

  • 相关阅读:
    数据库web项目对数据库的操作
    Java中的反射机制
    Java中的注解
    CSS3与弹性盒布局
    MySQL存储过程实现分页及变量的定义
    开博第一文
    mpy开发物联网系列:1.mpy与服务器数据库方案
    VBS常用方法
    VBS统计页面加载时间脚本
    Ubantu系统下安装Mysql问题:configure: error: No curses/termcap library found
  • 原文地址:https://www.cnblogs.com/llguanli/p/6767259.html
Copyright © 2020-2023  润新知