SpringBoot集成Mybatis实现事务控制

304 阅读1分钟

前言:SpringBoot集成Mybatis之后,要是实现事务的控制很简单只需要在service方法上面加上@Transactional注解。项目码云地址:gitee.com/fengayang/m…

方法1、批量删除用户和部门信息方法

@Override
@Transactional
public int deleteUserAndDepByUserId(List<UserInfo> userInfos, List<Department> departments) {
    // 删除用户信息
    int uNum = deleteBatchUserInfo(userInfos);
    // 删除部门信息
    int dNum = departmentService.deleteBatchDepartment(departments);
    return uNum+dNum;
}

方法2、批量删除用户信息

@Override
public int deleteBatchUserInfo(List<UserInfo> userInfos) {
    return userInfoMapper.deleteBatchUserInfo(userInfos);
}

方法3、批量删除部门信息

@Override
public int deleteBatchDepartment(List<Department> departments) {
    return departmentMapper.deleteBatchDepartment(departments);
}

总结: 1、在批量删除部门和用户信息上加事务,保证了需要删除的部门和用户要么都删除,要么都不删除,所以事务是可以嵌套的(方法1就包含了方法2和方法3)。