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