service层返回值咨询

发布于 2022-09-13 01:01:47 字数 285 浏览 23 评论 0

咨询几个简单的问题,希望能得到各位的指点,谢谢!
1、service层操作dao的inser、update、delete方法是否需要返回boolean类型呢?判断dao返回的影响行数大于0当做成功?还是说不判断,controller拦截到异常就当成是失败、否则成功?
2、service层调用多个dao,比如新增用户,需要调用dao中插入用户基础表、插入用户认证表、插入用户扩展信息表,每调用一次dao判断返回为0按上面问题中的办法处理(返回0直接return false或者抛异常?),还是不处理、controller拦截到异常就当成是失败?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

若水微香 2022-09-20 01:01:47

1.1
insert update delete 更加建议返回条数,返回 boolean 也不是不行,只不过在某些场景下数字的应用情况更多
1.2
controller 拦截到异常可以当成是失败,封装成和失败一样的格式,可以用 code 区分是正常业务异常还是未知异常

2
insert 不用考虑这个问题,基本上不会返回0,它只有成功和失败,失败一般是缺少必须字段、外键不正确等,因此是:不处理、controller拦截到异常就当成是失败。
如果是 delete,条数不正常,取决你的业务是否允许,必须你要删除 10 条数据,结果返回数字是 9 条,还有一条是不是就可以算了?
如果是 update 结果为 0,一般是不正常的,表明这条数据不存在,可能是前台返回的 id 不正确,这种情况就是明显的业务异常,应该返回失败或者抛出一个已知的业务异常给前台

PS: 你的很多问题,问的其实都很有道理,但是这个只依靠网上的答案是没法完全解答的,因为业务和实际情况只有你最清楚,我做的解答也只是自己平常情况下遇到的一种解决方式,它只能在一次次实践中找到最适合自己的答案,久而久之,你就能够选择出在不同场景下的最优解。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文