事物 Transactional

Transactional注解

@Transactional作用:就是在当前这个方法执行开始之前来开启事务,方法执行完毕之后提交事务。如果在这个方法执行的过程当中出现了异常,就会进行事务的回滚操作。

@Transactional注解:我们一般会在业务层当中来控制事务,因为在业务层当中,一个业务功能可能会包含多个数据访问的操作。在业务层来控制事务,我们就可以将多个数据访问操作控制在一个事务范围内。

@Transactional注解书写位置:

方法

当前方法交给spring进行事务管理

当前类中所有的方法都交由spring进行事务管理

接口

接口下所有的实现类当中所有的方法都交给spring 进行事务管理

@Slf4j

@Service

public class DeptServiceImpl implements DeptService {

    @Autowired

    private DeptMapper deptMapper;

    @Autowired

    private EmpMapper empMapper;

    @Override

    @Transactional(rollbackFor=Exception.class)  //当前方法添加了事务管理

    public void delete(Integer id){

        //根据部门id删除部门信息

        deptMapper.deleteById(id);

        //模拟:异常发生

        int i = 1/0;

        //删除部门下的所有员工信息

        empMapper.deleteByDeptId(id); 

    }

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。