前言:
有时候在数据库表中,对某列设置了唯一约束,
在对某条数据,进行修改或者新增时候,程序中会抛出异常: SQLIntegrityConstraintViolationException

简单处理:

        try {
            //修改or新增sql
        }catch (Exception e){
            Throwable cause = e.getCause();
            if (cause instanceof SQLIntegrityConstraintViolationException){
                String errMsg =   (cause).getMessage();
                if (StringUtils.isNotEmpty(errMsg) && errMsg.contains("idx_tel")){
                    throw new ApiException(500,"手机号已经存在");
                if (StringUtils.isNotEmpty(errMsg) && errMsg.contains("idx_account")){
                    throw new ApiException(500,"账号已经存在");
            throw new ApiException(500,参数错误);
                    前言:   有时候在数据库表中,对某列设置了唯一约束,  在对某条数据,进行修改或者新增时候,程序中会抛出异常:SQLIntegrityConstraintViolationException简单处理:        try {            //修改or新增sql        }catch (Exception e){            Throwable cause = e.getCause();            if (cause instance...
|-- java.sql.SQLException
	|-- SQLNonTransientException
		|-- SQLIntegrityConstraintViolationException
//新增机型
			aircraftService.save(aircraft);
			return R.ok(aircraft.getId());
		}catch (Exception e){
			Thr..
那么,具体应该怎么实现呢?
可以使用我们之前讲解过的 过滤器、拦截器来实现,在过滤器、拦截器中拦截前端发起的请求,判断用户是否已经完成登录,如果没有登录则返回提示信息,跳转到登录页面。
1.2 思路分析
				
系列文章目录 文章目录系列文章目录前言10-管理员维护-新增-目标和思路11-管理员维护-新增-前往单页面==自己先探索一下====老师的讲解==设置唯一约束==怎么得知原数据里面有没有重复的账号==12--管理员维护-新增-执行保存13-管理员维护-新增-处理唯一约束异常 上一篇笔记里面, 1、我们删除的时候其实还应该做删除确认,但是目前没做,这个要记一下 2、还有就是自己不能删除自己,如果管理员登录后在管理员管理里面自己删除了自己,这就尴尬了 细节是很多的,甚至可以说是永无止境,暂时可以不管,后
我们在给一个对象设置一个唯一标识的时候,最好不要用index,因为我们前端经常用到各种遍历 就会用到各种index索引,这样很容易混淆。 而且这个唯一示不要和索引建立联系,因为你假如删除数组的元素,index会变化,从而导致你 设置的唯一标识就会发生变化。 后端一次性往数据库插入多条数据(其实归根到底就是insert一次性插入多个值) https://blog.csdn.net/qq_38322527/article/details/103390252?utm_medium