getByName()这种类型的方法应该属于DAO层还是BO层?

发布于 2022-09-04 10:02:27 字数 630 浏览 22 评论 0

设计代码的时候往往会将代码分层,达到更强的健壮性和可维护性

大概分为

controller 层,与前端模板对应的层
businesses object (BO)层,业务层
value object (VO)层,数据对象层(往往BO层和DAO层之间的数据传递使用VO来传递,BO与BO之间也使用VO传递)
data access object (DAO)层,基础的数据增删改查的方法
database 层,数据库层

等等

如上所述,DAO层设计为数据的基础的增删改查的方法,常见的往往都是按照唯一ID(uuid)来查询、修改的操作,
但也会出现按其他的唯一字段做查询、修改的操作的需求,常见的比如getByName(),deleteByName等
而不同的数据源的唯一字段又不一样,在其他的数据源中,函数往往又叫getBySpecialId(),deleteBySpecialID()等

所以我有一个疑问, 类似于getByName()、deleteByName()这种数据基础的数据操作,而又有一点点业务的含义等方法应该数据DAO层呢?还是BO层呢?

还望有大神赐教,谢谢。

注:绝大部分情况下的DAO类都是统一的一个类,只有BO的类往往会针对不同的数据做不同的业务处理

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

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

发布评论

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

评论(5

维持三分热 2022-09-11 10:02:27

操作了数据库应该在dao层

汹涌人海 2022-09-11 10:02:27

数据基础操作的话,写在dao层吧,就是最简单的获取和删除数据。然后在其他层可以在此基础上加上其他的业务逻辑。

吃颗糖壮壮胆 2022-09-11 10:02:27

DAL(数据访问层)

情释 2022-09-11 10:02:27

这种方法在JPA里面很常见,一般应该放在dao层

谈下烟灰 2022-09-11 10:02:27

DAO层用于封装数据库的操作。所以应该是dao层

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