设计代码的时候往往会将代码分层,达到更强的健壮性和可维护性
大概分为
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的类往往会针对不同的数据做不同的业务处理
操作了数据库应该在dao层
数据基础操作的话,写在dao层吧,就是最简单的获取和删除数据。然后在其他层可以在此基础上加上其他的业务逻辑。
DAL(数据访问层)
这种方法在JPA里面很常见,一般应该放在dao层
DAO层用于封装数据库的操作。所以应该是dao层