Java中各种BO、POJO类

2023-11-06

BO(Business Object)业务对象
主要作用是把业务逻辑封装为一个对象,这个对象可以包括一个或多个其他的对象。比如一份简历,有教育经历、工作经历、社会关系等。可以把教育经历对应一个 PO,工作经历对应一个 PO,社会关系对应一个 PO,然后建立一个对应建立的 BO来处理简历,每个 BO 包含这些 PO,这样就可以针对 BO 去处理业务逻辑。

DAO(Data Access Object)数据访问对象
此对象用于访问数据库,通常与 PO 结合使用,DAO 中包含了各种数据库的操作方法,结合 PO 对数据库进行相关操作,处于业务逻辑与数据库资源中间,通过它可以把 POJO 持久化为 PO,用 PO 组装 VO、DTO。

DO(Domain Object)领域对象
从现实世界中抽象的业务实体。

DTO(Data Transfer Object)数据传输对象
用于远程调用等需要大量传输对象的地方,也可以泛指用于展示层与服务层之间的数据传输对象。

PO(Persistent Object)持久对象
可以看成是与数据库中的表映射的 Java 对象,最简单的 PO 就是对应数据库中某个表中的一条记录,多个记录可以用 PO 的集合,PO 中应该不包含任何对数据库的操作。

POJO(Plain Ordinary Java Object)简单无规则 Java 对象
纯的传统意义上的 Java 对象,就是说在一些表关系映射工具中,能够做到维护数据库表记录的持久化对象完全是一个符合 Java Bean 规范的纯 Java 对象,没有增加别的属性和方法。也可以理解成最基本的 Java Bean,只有属性字段及 setter 和 getter 方法。

VO(View Object)值对象
通常用于业务层之间的数据传递,和 PO 一样也是仅仅包含数据而已,是抽象出来的业务对象,PO 只能用在数据层,VO 用在表示层。

作者:shaopiing
链接:https://www.jianshu.com/p/c163e02c3d93
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java中各种BO、POJO类 的相关文章

随机推荐

  • spring的注入bean的几种方式

    平常的Java开发中 程序员在某个类中需要依赖其它类的方法 通常是new一个依赖类再调用类实例的方法 这种开发存在的问题是new的类实例不好统一管理 Spring提出了依赖注入的思想 即依赖类不由程序员实例化 而是通过Spring容器帮我们
  • Linux命令行模式和图形界面的切换

    1 1 命令行 gt 图形 执行startx命令 1 2 图形 gt 命令行 Ctrl Alt F1 F6 2 启动默认 系统开机进入的界面 2 1 启动进入命令行模式 修改 etc inittab文件 id 3 initdefault 2
  • ERROR Error: No module factory availabl at Object.PROJECT_CONFIG_JSON_NOT_VALID_OR_NOT_EXIST ‘Error

    1 使用微信一键打包工具提示 ERROR Error No module factory available for dependency type CssDependency Error 请检查 project config json 是
  • 在运行jar包时如何替换jar内变量的值?

    在运行jar包时如何替换jar内变量的值 举个例子 1 问题描述 java程序中定义了变量String vars System getProperty aa String vars1 System getProperty aa test 把
  • 【计算机知识】Base64 编码说明

    一 理论 Base64 是一种基于 64 个可打印字符来表示二进制数据的表示方法 由于 2 6 64 所以每 6 个比特为一个单元 对应某个可打印字符 Base64 常用于在通常处理文本数据的场合 表示 传输 存储一些二进制数据 包括 MI
  • Comparable接口和Comparator接口的使用和区别

    Comparable Comparable接口在JDK8中的源码 package java lang import java util package java lang public interface Comparable
  • Google搜索语法

    Google 语法 一 更加精准的搜索内容 1 过滤搜索结果 2 敏感信息 3 网页快照 4 指定格式的文件 5 搜索已有的攻击结果 6 具备特殊URL关键字的目标地址 7 其它与站点相关的信息 二 Google语法 1 XX 去掉包含XX
  • 离散时间傅里叶变换Matlab实现

    一 代码实现 离散时间傅里叶变换DTFT 若x t cos 2 pi t 取样时间为0 1s 得到一个32的有限序列 利用matlab计算他的DFT并画出图像 clear ts 0 1 取样时间 fs 1 ts 周期 N 32 总取样次数
  • 探究负数在内存存储的设计方式

    有没有一种存储方式能使得 1 1 0 我们可以利用溢出的原理来解决 上面推导了char类型的负数的储存方式为sx 255 x 1 与我们常见的原码和补码的转换方式一致 类似的 如果是其他类型的数据只需要将255转化为该类型的最大无符号值
  • redis源码之:跳跃表skiplist

    老规矩 先来看看大致结构 debug所用demo如下 include src server h void testSDS void testAlign void testZipList void testSkipList void test
  • springboot使用配置ElasticSearch完整保姆全教程

    目录 简介 前置条件 springboot配置 pom配置 spring配置 maven配置 Gradle配置 我的Dao层 我的repository层 我的service层 测试使用 API接口文档 简介 因为搜了半天 找不到一个完整的从
  • Python3 lambda函数的深入浅出

    我们常常看到一个这样的表达式 A lambda x x 1 可能会一头雾水不知道怎么计算 最基本的理解就是 def A x return x 1 但是理解程序不会将一个表达式在转为函数的 因为lambda函数设计出来就是 简化def的 其实
  • 简历中的“项目经验”该怎么写?

    找工作 简历是最关键的一步 只有通过了简历筛查才能往下继续进行 很多人写简历 都是在记录流水账 看来没有任何平淡寡味 其实简历的核心价值就在于游说 hr 和面试官 看我 看我 看我 即 吸引对方的眼球 让对方翻你的牌子 所以 简历的终极目的
  • windows下源码搭建WANMP环境

    windows下源码搭建WANMP环境 一 NSSM 二 软件准备 三 Apache安装和配置 四 Nginx安装与配置 五 PHP安装与配置 六 MySQL8安装与配置 一 NSSM 下载地址 下载地址 软件版本 nssm 2 24 软件
  • Linu文件目录之操作篇【文件/目录的删除和创建、复制、移动、重命名】【简直不要太详细】

    目录 pwd ls 选项 目录或是文件 ls a ls l 常用 cd cd cd mkdir mkdir p rmdir rmdir rf 要删除的目录 touch cp 源路径 目的路径 cp r rm rm r rm f mv mv
  • [1191]电脑耳机孔插上耳机没反应

    电脑插上耳机没有声音的解决方法如下 1 首先确认下耳机是否正确插入了主板后面的绿色接口 2 电脑音频设置不正确导致的 点击 开始 控制面板 Realtek高清晰音频管理器 找到 设备高级设置 的下方有一个文件夹 左击该文件夹 勾上 禁用后面
  • OS内核以及进程间通信方式IPC

    一 内核 1 概念 计算机由各种外部硬件设备组成 如内存 cpu 硬盘等 如果每个程序要访问某个硬件 那它必须知道如何和这个硬件设备对接通信协议 那这样太麻烦了 因此这项工作交给了中间人 内核来负责 应用程序只需关心与内核交互 无需关心硬件
  • k8s权威指南第五版_K3S:轻量的Kubernetes -- 概览&部署指南

    K3S 轻量版的 Kubernetes K3S项目地址 https github com rancher k3s 其项目介绍只有简单的一句话 Lightweight Kubernetes https k3s io 简约而不简单 一句话足以看
  • 2023年最牛最规范的软件测试的标准操作流程,(大厂内部测试流程规范文档)

    前言 软件测试作为软件开发过程中不可或缺的环节 其标准化操作流程对于企业的产品质量和竞争力具有至关重要的作用 然而 在实际工作中 由于各个企业的文化背景 组织形式 产品类型等因素的不同 标准化的测试流程也存在差异 这给软件测试人员在不同企业
  • Java中各种BO、POJO类

    BO Business Object 业务对象 主要作用是把业务逻辑封装为一个对象 这个对象可以包括一个或多个其他的对象 比如一份简历 有教育经历 工作经历 社会关系等 可以把教育经历对应一个 PO 工作经历对应一个 PO 社会关系对应一个