Mybatis捕获异常


DataAccessException

DataAccessException是Mybatis封装的异常,继承了RuntimeException这个类。
image

步骤

  1. Mapper接口抛出DataAccessException异常
    int insertSelective(BusArea record) throws DataAccessException;
  1. ServiceImpl抛出DataAccessException异常
    @Override
    public boolean insertSelective(BusArea busArea)  throws DataAccessException {
        boolean result = this.busAreaMapper.insertSelective(busArea) > 0;
        return result;
    }
  1. Controller捕获异常,在捕获DataAccessException之前可以捕获其他runtime异常。
    @RequestMapping("insertSelective")
    @ResponseBody
    public Map insertSelective(BusArea area) {
        String uuid = UUIDGenerator.getUUID();
        area.setId(uuid);

        Map resultmap = new HashMap();
        String code = "fail";
        String msg = "添加失败!";

        try {
            boolean rb = this.busAreaService.insertSelective(area);
            if (rb){
                code = "success";
                msg = "添加成功!";
            }
        }catch (DuplicateKeyException e){
            msg = "该区域名称已存在,请勿重复添加!";
        }catch (DataAccessException e){
            msg = "添加出现异常!";
        }
        resultmap.put("code",code);
        resultmap.put("msg",msg);
        return resultmap;
    }


免责声明!

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



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