Util、POJO、domain、entity、model、DAO、DTO、view、mapper、service、controller的作用和区别分析

这篇具有很好参考价值的文章主要介绍了Util、POJO、domain、entity、model、DAO、DTO、view、mapper、service、controller的作用和区别分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

@[TOC]Util、POJO、domain、entity、model、DAO、DTO、view、mapper、service、controller的作用和区别分析

前言

前言
做开发项目时,总会遇到这些包,理清他们的层次,非常有助于我们对于项目的理解和建立。

现阶段CSDN上貌似没有很系统,很详细的关于层级类的解释。因此总结了一下自己的经验和思考,也算是小小的回馈一下一直帮助自己的CSDN。。

工具类层
Util
util = 工具

顾明思义,util层就是存放工具类的地方,对于一些独立性很高的小功能,或重复性很高的代码片段,可以提取出来放到Util层中。

数据层
POJO对象
POJO = plain ordinary Java object = 普通Java对象

PO:持久对象,与数据库中的表相映射的Java对象

VO:业务层之间数据传递的对象

POJO:简单无规则Java对象,只有属性+get+set方法

下面要讲的这几个包,本质上都是POJO类

domain
domain = 域

域是一个大范围,如简历域包括工作经验表、项目经验表、简历基本信息表。 在domain包中,就可以定义一个大的简历对象,将三个表的内容整合在一个对象中,作为整体操作。

entity
entity = 实体

严格和数据库相对应,数据库中有什么字段,entity包中的类就有什么字段。因此当操作表时,操作这个类即可。

比如user表中有name、id、age,则entity包中对应的同名类也只有这三个同名属性。

model
Model = 模型

当用model当包名时,一般里面存的是实体类的模型,是用来给后端用的。

比如user表中有name、id、age,出于安全原因,我们需要把用户的密码定义在另一表中,即user_passwd表,但进行相关操作时,我们往往需要将两个表关联使用,每次定义都很麻烦。

因此可以在model层中定义user_model类,将user表中的信息与user_passwd表中的信息整合成一张综合表,这样在进行操作时只需调用综合表,就可以完成对两个表的关联操作

view
view = 视图

当用view当包名时,一般里面存放的是对实体表的映射类(视图类),是用来给前端用的。

即:有时候我们仅仅需要获得某一个表的几个字段,所以此时可以用view存储这几个字段。

比如user表中有name、id、age,出于某些原因,我们只需要向用户展示name和id值,但进行相关操作时,我们往往需要对user表进行很复杂读处理,每次定义都很麻烦。

因此可以在view层中定义user_view类,将user表中的name、id存入user_view视图,这样在进行操作时只需调用视图表,就可以完成相对应的操作

DTO
DTO = Data Transfer Object = 数据传输对象,与view的用法相同,不过是叫法不同

总结
如果想对几个表综合操作,就用domain

如果是严格对数据库表操作,就用entity

如果想显示某个几个表的综合信息,就用model,注意model包一般放在service层。 Util、POJO、domain、entity、model、DAO、DTO、view、mapper、service、controller的作用和区别分析

如果只想展示某个表中的几段信息,就用view,注意view包一般放在controller层 Util、POJO、domain、entity、model、DAO、DTO、view、mapper、service、controller的作用和区别分析

上述包中的类都属于POJO类。

数据访问层
DAO
主要针对于数据表的操作,可以理解为一张数据表,就有一个DAO与之对应,与数据库的操作,增删改查等方法

举例:对于user类,其对应的dao包就是对user表中数据的增删改查方法。

mapper
mapper层 = dao层,若使用mybatis框架,则其生成的类名字是mapper,其实就是dao层。

业务层
service
由于Dao里面存放了对表操作的方法,entity类中存放了映射表的POJO类。

Service的作用就是将Dao和entity类整合起来,进行再次封装,封装成一个方法,我们调用这个方法,就实现了对某个表的增删改查操作。

控制层
Controller
负责请求转发,接受页面传递过来的参数,根据参数的不同,是调用不同的Service层方法进行操作,操作完成后将返回结果传递给页面。文章来源地址https://www.toymoban.com/news/detail-468751.html

到了这里,关于Util、POJO、domain、entity、model、DAO、DTO、view、mapper、service、controller的作用和区别分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • springboot中entity层,Dao层,mapper层,service层和controller层的关系和作用(通俗易懂版)

    entity(pojo,model)层 entity是存放实体的类,类中定义了多个类属性,并与数据库表的字段保持一致(通过配置文件可使得类中的驼峰命名和数据库表的下划线所对应)。 mapper(Dao)层 mapper层为数据持久层,mapper层的作用为访问数据库,向数据库发送sql语句,完成数据的增删

    2024年02月06日
    浏览(38)
  • PO、VO、DAO、BO、DTO、POJO区分

    DO(Data Object):此对象与数据库表结构一一对应,通过 DAO 层向上传输数据源对象。 DTO(Data Transfer Object):数据传输对象,Service 或 Manager 向外传输的对象。 BO(Business Object):业务对象,由 Service 层输出的封装业务逻辑的对象。 AO(ApplicationObject):应用对象,在Web层与Service层之间抽象的

    2024年02月05日
    浏览(38)
  • Java:PO、VO、BO、DO、DAO、DTO、POJO

    💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! PO是持久化对象,用于表示数据库中的实体或表的映射 通常与数据库表的结构和字段对应 PO的属性对应数据库表的字段,可以进行持久化操作(存储、读取、更新、删除) VO是值对象,用于封装数据 通常是不可变的,

    2024年02月12日
    浏览(38)
  • springboot苍穹外卖实战:一、环境搭建(nginx启动失败解决方案+Entity、DTO、VO、POJO区别说明+nio.charset.Input length = 2报错解决)

    在资料的day01中有个“前端运行环境”的文件夹,将其中的\\\"nginx-1.20.2\\\"文件夹解压到 非中文目录 下,然后直接点击文件夹中的nginx.exe(闪退不要紧)。 然后在浏览器中直接输入localhost,如果出现以下页面,即说明前端启动成功。 启动失败解决方案 如果没有,可能原因是80端

    2024年04月12日
    浏览(136)
  • Dao层、Service层、Entity层、Servlet层、Utils层

    这几天在复习高数,还有刷题。 B: 第五周任务 [Cloned] - Virtual Judge (vjudge.net) http://t.csdn.cn/S3imr  G: 第五周任务 [Cloned] - Virtual Judge (vjudge.net) http://t.csdn.cn/UVgfK   Dao层是数据访问层 Service层是业务逻辑层 Entity层是实体层 Servlet层是控制层 Utils层是工具类层 分层架构没有规定自

    2024年02月09日
    浏览(43)
  • Java中 Controller、Service、Dao/Mapper层的区别与用法

    在Java开发中,通常会采用三层架构(或称MVC架构)来划分程序的职责和功能,分别是Controller层、Service层、Dao/Mapper层。 业务模块的逻辑功能设计,和DAO层一样都是先设计接口,再创建要实现的类,然后在配置文件中进行配置其实现的关联。接下来就可以在service层调用接口进

    2024年02月06日
    浏览(48)
  • spring boot,DAO层、ENTITY层、SERVICE层、CONTROLLER层之间的关系

    主要用于 定义与数据库对象应的属性,提供get/set方法 ,tostring方法,有参无参构造函数。 DAO层 首先会创建Dao接口 , 接着就可以在配置文件中定义该接口的实现类 ;接着就可以在模块中调用Dao的接口进行数据业务的处理,而不用关注此接口的具体实现类是哪一个类,Dao层的数

    2024年04月10日
    浏览(36)
  • java中的controller、domain、mapper(persistence)、service 都是做什么用的?

    java中的controller、domain、mapper(persistence)、service代表了服务端接口的 4 层,第一层是控制层(controller),负责接口请求/响应的控制,调用第二层业务逻辑层(service 一般分为接口和实现),完成具体业务功能,它会调用第三层数据持久层 mapper(persistence)的逻辑,作用是访

    2024年02月15日
    浏览(47)
  • 快速掌握SpringBoot项目中的domain、mapper、service、controller层作用与书写格式

    承接上篇文章:http://t.csdn.cn/49QHB ①四个层负责的功能与作用: 1. Domain:包含业务实体,用于传输和封装数据。作用:作为数据载体,用于在各个模块之间传递业务数据。 2. Mapper:实现Domain与数据库表的映射及数据访问逻辑。作用:负责数据访问,将业务实体与数据库表进行映射,实现

    2024年02月03日
    浏览(43)
  • 剖析Java中的Entity、service、serviceImpl、Mapper以及Controller层之间的关系(代码诠释)

    学习了Java的相关方面知识之后,但对于各层次之间的关系以及部署,可能还会有些陌生感,下面以代码讲解各层之间的关系。 (企业中多数以Springboot为例,下面的代码都是以Springboot为例) 如果还停留在SSM基础或者补充Springboot的基础知识,也可在我的博客搜索。 简单的Sp

    2024年04月26日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包