有 DAO ,服务, DTO ,控制器,实体层在Java中。我进入DTO,因为实体是 POJO 类,所以我们创建数据库表。控制器是我们使用球衣或某些spring控制器(RequestMapping ...)编写Web服务调用的地方。
但是我没有涉及服务层和DAO层。在DAO层中,我们写了有关访问数据库的信息。在服务层中,我们编写有关Web服务的实现。因此,我们是否在服务层中使用dao对象。我想知道有关此服务层和DAO层的简要说明。
答案 0 :(得分:0)
听起来您的想法正确。
DAO是实际连接到数据库并保存/检索数据的部分,服务层包含周围的业务逻辑。通常从服务层调用DAO。
优良作法是将尽可能少的业务逻辑放在DAO中,而将其留给服务层。
答案 1 :(得分:0)
这些是不同的逻辑实体:
主要思想是不让端点(@Controller
,@RestController
)直接在数据库层进行操作。
答案 2 :(得分:0)
DAO是数据访问对象,是提供抽象的对象 与数据库的接口。 DAO提供一些特定的数据操作 不公开数据库的详细信息
但是DAO没有或不应该具有特定的业务逻辑,如果您除了CRUD操作之外还有更多的业务逻辑要应用,那么您也需要一个服务层。
此DAO可以执行CRUD操作,可以创建,检索,更新数据, 从我们的表中删除。
DAO的界面应如下所示:
public interface UserDao {
User getUser();
Set<User> getAllUsers();
User getUserByUserNameAndPassword();
boolean insertUser();
boolean updateUser();
boolean deleteUser();
}
如果需要在执行CRUD操作或日志记录之前验证访问权限,则服务层将采用业务逻辑,这些是一些示例。
在体系结构中,控制器->服务层-> DAO->实体... 控制器引用服务层,服务引用DAO
有关此链接的更多信息: https://dzone.com/articles/building-simple-data-access-layer-using-jdbc https://en.wikipedia.org/wiki/Data_access_object