添加编辑时数据不可重复验证
1 今天在编辑时,发现了一个问题,想了很一会时间。就是编辑时:判断编辑后的数据在数据库中是否重复。
当时想的是:编辑时,直接判断传过来的值是否在数据库中已经存在,这样乍一看是可以的,但是后来发现不行,因为这样,你原有的数据就保存不进去了,因为既然是编辑,那么在数据库中肯定是早已存在的。

比如我在编辑的时候,要判断我这个编辑后校企名称是否重复,如果按照之前的逻辑所想,那么肯定是不行的,因为这条数据肯定早已存在。
所以可以向以下这样,根据id来进行判断:
首先先将根据名称将数据查询出来,然后判断id与传过来的id是否一样,如果不一样并且名称也不一样那么肯定就是重复的数据了
LambdaQueryWrapper<LessonTeacherPlan> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(LessonTeacherPlan::getTeacherName,dto.getTeacherName());
List<LessonTeacherPlan> lessonTeacherPlans = baseMapper.selectList(queryWrapper);
//防止编辑时修改相同的名称
lessonTeacherPlans.forEach(lessonTeacherPlan -> {
if (!lessonTeacherPlan.getId().equals(dto.getId()) && lessonTeacherPlan.getTeacherName().equals(dto.getTeacherName())){
throw new MyParameterException("名称已存在");
}
});

浙公网安备 33010602011771号