mybatis plus開啓事務

	@Transactional//開啓事務的註解
    public boolean UpdEmployeeDepartmentAndUnit(Workgroup workgroup) {
        boolean flagWork = false;

        try {
            //修改小組表
            flagWork = workgroupService.updateById(workgroup);
            if (!flagWork) {
                log.debug("小組表修改失敗");
            } else {
                log.info("小組表修改成功");
            }
            //修改其他表的冗餘
            IService[] services = new IService[]{employeeService, attendanceService, leaveService, workOvertimeService, scheduleService, overtimeArrangeService,
                    clockInService, rewardsAndPunishmentsService};
            for (IService service : services) {
                flagWork &= UpdEmpByGroupUtils.updAllByUpdGroup(workgroup, service);
            }
            if(!flagWork){
                //進行回滾
                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
            }
        } catch (NoTransactionException e) {
            e.printStackTrace();
        }
        return flagWork;
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章