瑞吉外卖(新增员工) | 您所在的位置:网站首页 › html添加按钮跳转到新加网页 › 瑞吉外卖(新增员工) |
员工登录
执行流程
第一步:点击添加员工按钮 在完成了新增员工的编写后,我们发现一个问题,即当我们新增员工账号相同时,数据库会错误 Duplicate entry 'zhangsan' for key 'idx_username'这是因为我们在数据库中为账号这一属性设置了唯一约束,当有重复账号被添加到数据库中,会报此类错误,因此,为了解决此类问题,我们编写一个exceptionHandler,用来捕获此类错误,我们采用全局的方式处理,如果单独处理,将会导致频繁编写同样代码,带来冗余。 package com.itheima.reggie.common; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import java.sql.SQLIntegrityConstraintViolationException; /** *@ClassName GlobalExceptionHandler *@Description TODO 全局异常处理器 *@Author wj *@Date 2023/5/25 15:25 *@Version 1.0*/ // 拦截类上有RestController和controller 注解的异常 @ControllerAdvice(annotations = {RestController.class, Controller.class}) // 要返回json结果,所以加一个responsebody注解 @ResponseBody @Slf4j public class GlobalExceptionHandler { /** * 异常处理方法 * @return*/ @ExceptionHandler(SQLIntegrityConstraintViolationException.class) public R exceptionHandler(SQLIntegrityConstraintViolationException ex){ log.error(ex.getMessage()); if (ex.getMessage().contains("Duplicate entry")){ String[] split = ex.getMessage().split(" "); String msg = split[2] + "已存在"; return R.error(msg); } return R.error("未知错误"); } } |
CopyRight 2018-2019 实验室设备网 版权所有 |