请问这个判断是不是指的这个意思
@Override
public void update(Category updateCategory) {
if (updateCategory.getName() != null) {
Category categoryOld = categoryMapper.selectByName(updateCategory.getName());
/*
进行更新有两种情况,第一种,传入的name数据库中没有同名的数据,说明name和其它数据进行了更新,就是在原来的数据进行了更新
第二种,传入的name数据库中有同名的数据,且id相同,说明是在原来数据上name没有改变,其它的数据进行了更新
第三种 ,判断条件成立的情况categoryOld != null 根据名字查出来的数据存在,结合后面一句
!categoryOld.getId().equals(updateCategory.getId()) 库里根据name查出来的id和传入的id不一样,说明name相同两个id不同,此时就存在了同name不同id的两条数据,此时重复了,不能更新
*/
if (categoryOld != null && !categoryOld.getId().equals(updateCategory.getId())) {
throw new ImoocMallException(ImoocMallExceptionEnum.NAME_EXISTED);
}
int count = categoryMapper.updateByPrimaryKeySelective(updateCategory);
if (count == 0) {
throw new ImoocMallException(ImoocMallExceptionEnum.UPDATE_FAILED);
}
}
}17
收起
正在回答 回答被采纳积分+1
1回答
2023版Java工程师
- 参与学习 人
- 提交作业 8788 份
- 解答问题 9886 个
综合就业常年第一,编程排行常年霸榜,北上广深月薪过万! 不需要基础,无需脱产即可学习,只要你有梦想,想高薪! 全新升级:技术栈升级(包含VUE3.0,ES6,Git)+项目升级(前后端联调与功能升级)
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星