qq_16590545
qq_16590545
采纳率81.3%
2016-06-03 06:57 阅读 1.3k
已采纳

spring MVC+mybatis 在代码中怎么进行事物回滚?请高手指点

10

前提是:我已经在spring xml配置了事物管理
图片说明

这个是要报错了才会回滚

我现在想在这个基础上面,在无异常的情况下用代码进行回滚
比如我现在将数据插入到主表了,在插入子表的时候,我发现子表数据的数据有不合法的,这不会产生异常,单纯的数据是我不想要的,我进行回滚
比如现在:主表已插入了一条数据,子表已插入三条数据,在插入第四条的时候,我觉得第四条数据不是我想要的(无异常情况),我用代码进行回滚。
我现在代码中使用:
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
无法回滚。

有谁知道怎么回滚啊?望告知
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • 已采纳
    lzj0327 lzj0327 2016-06-03 07:46

    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();这句话可以回滚,只是可能和其他的冲突了

    点赞 评论 复制链接分享
  • kun_tostudy kun_hello 2016-06-03 08:17

    在你的server层加个 @Transaction 不就可以做事务处理嘞?!

    点赞 评论 复制链接分享
  • mengqingyu555 暮云收尽溢清寒 2016-06-03 13:35

    配置文件中增加



    server层加个 @Transaction
    
    抛个异常就回滚了
    
    点赞 评论 复制链接分享
  • mengqingyu555 暮云收尽溢清寒 2016-06-03 13:36

    配置文件中增加

       <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource" />
      </bean>
      <tx:annotation-driven transaction-manager="transactionManager" />
    

    server层加个 @Transaction

    点赞 评论 复制链接分享

相关推荐