0.前言
学习ssm框架时看视频遇到这些概念,一开始都被搞混了,现在来区分一下。首先了解两个概念:
MVC是model+ view + controller
SSM 是spring + springMVC + mybatis
1.关系示意图
记住两句话:业务层调数据层。控制层调业务层
在java中可以表示成下面这种情况:
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, 实现的意思,主要用于实现接口。