首页 > 编程语言 >Java常用实体类介绍:POJO、Domain、DO、DTO、VO

Java常用实体类介绍:POJO、Domain、DO、DTO、VO

时间:2023-04-13 16:45:28浏览次数:164  
标签:DO Domain 实体类 String 对象 private Data public

POJO

POJO 是 Plain Old Java Object 的简称,它指的是一个没有限制或要求下的纯平对象。POJO 用于表示没有任何框架或技术限制的纯数据对象。在 Java 开发中,POJO 通常用于简化复杂对象和降低对象的耦合度,是面向对象编程中 "高内聚、低耦合" 设计思想的体现。

示例代码:

@Data
public class User {
    private Long id;
    private String name;
    private Integer age;
}

Domain

Domain 是 Domain Object 的简称,即领域对象。它主要是用来表示一个领域或业务的对象,包含业务领域所需的属性和行为。Domain 对象更注重业务逻辑的封装,与数据存储相较而言更加抽离出来,以达到重用和可扩展性的目的。

示例代码:

@Data
public class User {
    private Long id;
    private String name;
    private Integer age;

    public void save() {
        // 保存用户信息的业务逻辑
    }
}

DO

DO 是 Data Object 的缩写,即数据对象,它主要是用来映射关系型数据库的对象实体。DO 对象通常和数据库表一一对应,其属性名称和类型与表中的属性名称和类型对应。DO 通常使用 ORM 框架来实现数据的 CRUD 操作,例如Hibernate、MyBatis 等。

示例代码:

@Data
public class User {
    private Long id;
    private String name;
    private Integer age;
    private String password;
    private String email;
}

DTO

DTO 是 Data Transfer Object 的简称,即数据传输对象,用于传输数据。与 DO 和 Domain 对象相比,DTO 对象更注重数据传输的目的,通常只包含必要的属性,以便于在不同层之间传输数据。DTO 对象通常可以包含多个 Domain 对象的相关属性,因此也被称为组合对象。

示例代码:

@Data
public class UserDTO extends User{
   private List<Address> addresses;
}

VO

VO 是View Object 的缩写,即视图对象,它用于显示数据或在前端展示。VO 对象是以“视图”为基础的对象,通常从 DTO 或 Domain 对象中抽取必要的属性来构建对象。在所有前端渲染中,VO 对象都是最常用的元素之一。

示例代码:

@Data
public class User {
    private Long id;
    private String name;
    private String email;
}

标签:DO,Domain,实体类,String,对象,private,Data,public
From: https://blog.51cto.com/learningfish/6188128

相关文章

  • ubuntu 20.04 基于docker快速搭建中文 的一些问题解决 Utilization of discoverer pro
    1.Utilizationofdiscovererprocessesover75%解决办法问题状态如下zabbixserver在开启Discovery功能后,zabbixweb页面报警提示:“Zabbixserver:Ulitizationofdiscovererprocessesover75%”。原因:每个discovery任务占用一个discovery进程,但是zabbixserver默认只配置了一......
  • DOM动画效果怎么做
    JavaScript是世界上最流行的脚本语言。JavaScript是属于web的语言,它适用于PC、笔记本电脑、平板电脑和移动电话。JavaScript被设计为向HTML页面增加交互性。许多HTML开发者都不是程序员,但是JavaScript却拥有非常简单的语法。几乎每个人都有能力将小的JavaScript片......
  • [Docker]volume的创建与挂载
    在Docker中创建和挂载Volume(卷)可以用于持久化保存数据和文件,便于容器间数据的共享。下面是创建和挂载Volume的一般步骤:创建Volume可以使用以下命令在Docker中创建Volume:dockervolumecreate<volume_name>其中<volume_name>是你希望创建的卷名称,例如:dockervolu......
  • mysql,dorics数据库查询不同类型数据前10条信息
    selectt1.id,t1.namefrom(selectt.id,t.name,row_number()over(partitionbyt.idorderbyt.date)rnfromAt)t1wheret1.rn<=10;结果如下:  ......
  • windows程序利用setup project项目进行打包安装
    编译好的C++项目可以通过visualstudio的setupproject项目进行打包安装1、利用dumpbin/dependents*.exe命令查看生成的运行文件所依赖的库dll,然后将相应库拷贝到即将打包的文件夹中,需使用x64NativeToolsCommandPromptforVS20192、下载扩展MicrosoftVisualStudio......
  • echarts在同一个dom元素中创建两个图表
    核心:使用grid进行分区//直角坐标系内绘图网格左右通过left和right分上下通过top和bottom分grid:[{left:'10%',right:'55%',width:'30%'},{left:'55%',right:'10%',width:'30%'},],实例效果图: 实例代码:initEch......
  • org.dom4j.DocumentException: Connection timed out: connect Nested exception: Con
    今天用dom4j解析xml文件时遇到了一个问题org.dom4j.DocumentException:Connectiontimedout:connectNestedexception:Connectiontimedout:connect atorg.dom4j.io.SAXReader.read(SAXReader.java:484) atorg.dom4j.io.SAXReader.read(SAXReader.java:321) atcom......
  • Mac | iOS | Windows:安装Stable diffusion教程
    热烈欢迎,请直接点击!!!进入博主AppStore主页,下载使用各个作品!!!注:博主将坚持每月上线一个新app!!!Apple已支持的开源库:https://machinelearning.apple.com/research/stable-diffusion-coreml-apple-silicon一、MAC部署安装:https://github.com/apple/ml-stable-diffusiongitclone......
  • [Docker]Namespace与Cgroups
    目录什么是Namespace?Namespace的类型Namespace的实现和使用什么是Cgroups?Cgroups的特征Cgroups的使用总结参考连接什么是Namespace?Namespace是Linux容器技术的一个重要概念,其作用是对运行于其中的进程提供隔离,确保容器和宿主机之间是完全隔离的。Namespace在Linux......
  • Docker MySql8 创建、删除、授权用户
    1、登录MySql8#登录数据库dockerexec-itmysql8mysql-uroot-proot123456#切换数据库实例usemysql;2、用户操作2.1、查看用户selecthost,user,authentication_string,pluginfromuser;2.2、创建本地用户#创建一个用户名为admin,密码为admin123456的......