问题:我们常用到的dao、pojo、service、controller、mapper、Impl、bo、vo、po、domain都是什么?

1. 前言

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

2.关系示意图

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

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

3.区别和联系

  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, 实现的意思,主要用于实现接口。
最后修改:2022 年 05 月 30 日
如果觉得我的文章对你有用,请随意赞赏