Loading... <div class="tip inlineBlock warning"> 问题:我们常用到的dao、pojo、service、controller、mapper、Impl、bo、vo、po、domain都是什么? </div> ## 1. 前言 学习ssm框架时看视频遇到这些概念,一开始都被搞混了,现在来区分一下。首先了解两个概念: [MVC是model+ view + controller](https://www.longkui.site/development/article0924/?preview=true) [SSM 是spring + springMVC + mybatis](https://www.longkui.site/development/article-ssm/) ## 2.关系示意图 记住两句话:业务层调数据层。控制层调业务层 在java中可以表示成下面这种情况: ![](https://www.longkui.site/wp-content/uploads/2020/09/image-91-1024x149.png) ## 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 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 2 如果觉得我的文章对你有用,请随意赞赏