Java事务管理@Transactional,回滚;


在service方法上用注解@Transactional,不要在该方法上捕获异常,在调用方捕获,否则不触发事务机制。

   @Override
    @Transactional
    public int inputProviceData(MultipartFile file)throws Exception {
        try {//不触发事务机制,需将try...catch去掉,在controller中捕获
           
            ctyProvinceMapper.deleteAll();
            Sheet sheet = ExcelFileUtil.getSheet(file);
            for(Row row : sheet){
                if(row.getRowNum() == 0){
                    continue;
                }
                Cell cell0 = row.getCell(0);
                cell0.setCellType(Cell.CELL_TYPE_STRING);
                String provinceId = cell0.getStringCellValue();
                String provinceName = row.getCell(1).getStringCellValue();
                CtyProvince ctyProvince = new CtyProvince();
                ctyProvince.setProvinceId(Long.valueOf(provinceId));
                ctyProvince.setProvinceName(provinceName);
                ctyProvinceMapper.insert(ctyProvince);
            }
        }catch (Exception e){
            e.printStackTrace();
        }

        return 0;
    }


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM