简述 mybatis 事务的使用

在实际应用中,我们需要做一系列的操作,比如当我们增加明细数据需要对表头更新合计值;也就是涉及多个表的操作时需要通过事务进行处理;那么事务处理方式有两种方式:一种写带事务的存储过程,另一种通过Spring 自身事务支持;在这里我就解释后者有方式;
第一步:
在入口处增加 @EnableTransactionManagement 注解
在这里插入图片描述

package com.cm.aps;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.transaction.annotation.EnableTransactionManagement;

@SpringBootApplication
@EnableTransactionManagement
public class ApsApplication {
    
    

    public static void main(String[] args) {
    
    
        SpringApplication.run(ApsApplication.class, args);
    }

}

第二步就是在Service的类里写处理过程;注意事项请看注释

@Override
@Transactional(rollbackFor = Exception.class)  //这里回滚进行定义
public int update(Prdtv prdtv) throws RuntimeException{
    
    
	//注意在这里处理业务时,不要使用Try ...异常捕获,否则不回滚
    return prdtvMapper.update(prdtv);
}

结语:虽然现在还不知道它是通过一个什么样的机制处理事务的;但也是解决问题的一种方式。
当然通过存储处理也是可以的,需要在存储里加下事务,而不是简单的存储过程。

猜你喜欢

转载自blog.csdn.net/weixin_44690195/article/details/108024994