代码规范之不同层级可以互相调用吗

益达先生 发布于 2020/12/07 16:11
阅读 498
收藏 1

代码分controller,service mapper层。service层之间可以相互调用吗?看了不少gitee上的开源项目,2种情况都有,各有利弊。

举个例子:新增用户,调用保存用户接口save,同时还要保存用户角色,UserService,UserMapper, UserRoleService,UserRoleMapper。是UserService中调用UserRoleService还是UserRoleMapper。

 

加载中
0
木九天
木九天

可以同层级调用

0
f
freezingsky

有时候偷懒,是可以的。但是规范上,最好不要这么做!

0
guuvvv
guuvvv

我们一般是

mapper 不调用mapper

service 不调用controller

service 可以调用service

service 不调用别的mapper(特殊情况,附属的mapper可以不写service,而直接被本service调用,比如UserService 直接调用userDescMapper ,但别的service 不直接调用userDescMapper,而是通过UserService)

业务上有关联性,不是一个mapper 就能完全处理的,一个service方法可能包含几个mapper语句,将这些作为封装,而不是直接调mapper,避免业务出现不一致

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部