java中dao层和service的关系 dao层和service层方法是一样的吗

网友提问:

java中dao层和service层的区别是什么?

优质回答:

简单一点,dao层只是访问数据库,业务逻辑跟它没关系,它只会访问数据库读取数据,不知道这些数据是什么意思、做什么用的;service层,就是操作业务逻辑,它调取dao层的数据,对数据按照业务逻辑进行解释。

总结一下,就是dao层不能有业务逻辑,service层可以调取一个dao层或者多个dao来实现业务逻辑。如果dao层加了业务逻辑进去,可以不通过service层实现了业务逻辑,不仅拖累查询效率,还让dao层代码难以复用,导致代码臃肿。

其他网友回答

service负责业务逻辑,dao负责数据访问。

以注册用户这个功能为例,service层要负责检查用户名是否保留字,是否已使用,然后把信息写入数据库,再生成关联信息比如权限等也写入数据库。

同时还要处理异常。这一串动作就是业务逻辑,service层要负责实现,但它不应该关心底层用的是mysql还是oracle,也不应该由它拼接SQL语句。

dao层的代码则只与数据库交互,比如service层要添加用户记录,它就执行insert语句,要检查用户是否已存在,它就执行select语句。

标准主流现在的编程方式都是采用MVC综合设计模式,MVC本身不属于设计模式的一种,它描述的是一种结构,最终目的达到解耦,解耦说的意思是你更改某一层代码。

如果你会像spring这样的框架,你会了解面向接口编程,表示层调用控制层,控制层调用业务层,业务层调用数据访问层。初期也许都是new对象去调用下一层。

其他网友回答

dao一般是直接对数据库的增删改查,给service提供服务,service一般是做业务逻辑处理,需要操作数据库时调用dao的方法

其他网友回答

dao对数据库进行操作的

service逻辑处理的,主要涉及到事务(你也可以在dao里面把整个逻辑,事务处理了)

只是代码逻辑清晰点,每个层次干不同的事

版权声明