为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

尚方宝剑之说 2019-02-19 12:43:09
设计代码的时候往往会将代码分层,达到更强的健壮性和可维护性 大概分为 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的类往往会针对不同的数据做不同的业务处理
查看完整描述

5 回答

?
绝地无双

TA贡献1946条经验 获得超4个赞

操作了数据库应该在dao层

查看完整回答
反对 回复 2019-03-01
?
FFIVE

TA贡献1797条经验 获得超6个赞

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

查看完整回答
反对 回复 2019-03-01
?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

DAL(数据访问层)

查看完整回答
反对 回复 2019-03-01
?
慕沐林林

TA贡献2016条经验 获得超9个赞

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

查看完整回答
反对 回复 2019-03-01
?
BIG阳

TA贡献1859条经验 获得超6个赞

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

查看完整回答
反对 回复 2019-03-01
  • 5 回答
  • 0 关注
  • 732 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信