service层返回值咨询
咨询几个简单的问题,希望能得到各位的指点,谢谢!
1、service层操作dao的inser、update、delete方法是否需要返回boolean类型呢?判断dao返回的影响行数大于0当做成功?还是说不判断,controller拦截到异常就当成是失败、否则成功?
2、service层调用多个dao,比如新增用户,需要调用dao中插入用户基础表、插入用户认证表、插入用户扩展信息表,每调用一次dao判断返回为0按上面问题中的办法处理(返回0直接return false或者抛异常?),还是不处理、controller拦截到异常就当成是失败?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
1.1
insert update delete 更加建议返回条数,返回 boolean 也不是不行,只不过在某些场景下数字的应用情况更多
1.2
controller 拦截到异常可以当成是失败,封装成和失败一样的格式,可以用 code 区分是正常业务异常还是未知异常
2
insert 不用考虑这个问题,基本上不会返回0,它只有成功和失败,失败一般是缺少必须字段、外键不正确等,因此是:不处理、controller拦截到异常就当成是失败。
如果是 delete,条数不正常,取决你的业务是否允许,必须你要删除 10 条数据,结果返回数字是 9 条,还有一条是不是就可以算了?
如果是 update 结果为 0,一般是不正常的,表明这条数据不存在,可能是前台返回的 id 不正确,这种情况就是明显的业务异常,应该返回失败或者抛出一个已知的业务异常给前台
PS: 你的很多问题,问的其实都很有道理,但是这个只依靠网上的答案是没法完全解答的,因为业务和实际情况只有你最清楚,我做的解答也只是自己平常情况下遇到的一种解决方式,它只能在一次次实践中找到最适合自己的答案,久而久之,你就能够选择出在不同场景下的最优解。