新增和更新的两个问题
老师好,有两个问题请问下
更新为什么不用id去查对应的商品,而是用商品名称去查?并且在用商品名称查询后还是需要是验证同名而id不同的校验。
新增时是在service里面做的 BeanUtils.copyProperties(),更新又是在controller里面做的BeanUtils.copyProperties(),为什么要这么做?这两个不是同一个性质的东西吗?出于什么考虑这么做呢?
24
收起
正在回答 回答被采纳积分+1
1回答
好帮手慕小蓝
2022-07-12 17:05:59
同学你好~
问题一:在业务逻辑中,是不允许有同名商品的。而商品名是由前台传递过来的,那么此时:
1.如果根据商品名没有查询到任何商品对象,那么此商品名一定与数据库其他商品信息不重名;
2.如果根据商品名查询到了对应的对象,那么此时就存在重名的可能性。此时就需要去判断,这里到底是“重名”还是“同一个商品”,这里就需要根据id再处理一次。
此处如果直接根据id去查询,那么确实能够保证在修改商品信息,不过就无法保证商品名不重复了。
问题二:这里使用BeanUtils类的copyProperties是为了简化属性的赋值过程。这里UpdateProductReq中的字段和Product中的字段并不是完全一样的,那么属性间的赋值就需要大量的调用UpdateProductReq中的get方法和Product中的set方法。为了简化这个过程,直接使用了工具方法copyProperties。
祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星