dao、pojo、service、controller、mapper、Impl、bo、vo、po、domain都是什么?

0.前言

学习ssm框架时看视频遇到这些概念,一开始都被搞混了,现在来区分一下。首先了解两个概念:
MVC是model+ view + controller
SSM 是spring + springMVC + mybatis

1.关系示意图

记住两句话:业务层调数据层。控制层调业务层

在java中可以表示成下面这种情况:

dao、pojo、service、controller、mapper、Impl、bo、vo、po、domain都是什么?

2.区别和联系

(1)DAO(mapper),DAO= Data Acess Object, 数据持久层,对数据库进行持久化操作,负责跟数据库打交道。通常我们在DAO层里写接口,里面有与数据打交道的方法。SQL语句通常写在mapper文件里。

(2)Service,业务层或服务层,主要负责业务模块的逻辑应用设计。 Service层的实现,具体调用到已经定义的DAO接口,封装service层的业务逻辑有利于通用的业业务逻辑的独立性和重复利用性。如果把Dao层当作积木,那么Service层则是对积木的搭建。

(3)Controller, 负责具体的业务模块流程的控制。此层要调用Service层的接口去控制业务流程。

(4)Pojo 全称Plain Ordinary Java Object ,数据库实体类,有的地方也直接写成entity。也可以理解为domain,一般是跟数据库对应好的一个实体类。

(5)Bo ,bussiness object,表示业务对象的意思。bo就是把业务逻辑封装成一个对象,这个对象可以包括一个或多个对象。通过调用dao方法,结合Po或Vo进行业务操作。

(6)Vo ,value object表示值对象的也i是,通常用于业务层之间的数据传递。

(7)Po, persistant object, 代表持久层对象的意思,对应数据库中表的字段,可以理解为一个po就是数据库中的一条记录。

(8)Impl 全称是 implement, 实现的意思,主要用于实现接口。

上一篇:《第一行代码》第十三章


下一篇:2021阿里云ecs云服务器年终钜惠:1核/2G/50G/1Mbps/65元/年,3年180元,续费3.5折