查看原文
其他

PO,VO,DAO,BO,POJO 之间的区别你懂吗?

Java之间 2020-10-17

点击上方Java之间”,选择“置顶或者星标”

你关注的就是我关心的!

上一篇:高并发下的接口幂等性解决方案!

VO

value object:值对象。

通常用于业务层之间的数据传递,由new创建,由GC回收。

PO

persistant object:持久层对象。

对应数据库中表的字段。VO 和 PO 都是属性加上属性的 get 和 set 方法;表面看没什么不同,但代表的含义是完全不同的。

DTO

data transfer object:数据传输对象。

表里面有十几个字段:id,name,gender(M/F),age,conmpanyId(如001)...

页面需要展示四个字段:name,gender(男/女),age,conmpanyName(如今日头条股份有限公司)。

DTO由此产生,一是能提高数据传输的速度(减少了传输字段),二能隐藏后端表结构。

BO

business object:业务对象。

BO 把业务逻辑封装为一个对象。我理解是 PO 的组合,比如投保人是一个 PO,被保险人是一个 PO,险种信息是一个 PO 等等,他们组合起来是第一张保单的 BO。

POJO

plain ordinary java object:简单无规则 java 对象。

纯的传统意义的 java 对象,最基本的 Java Bean 只有属性加上属性的 get 和 set 方法。可以转化为 PO、DTO、VO;比如 POJO 在传输过程中就是 DTO。

DAO

data access object:数据访问对象。

主要用来封装对数据的访问,注意,是对数据的访问,不是对数据库的访问。

最近热文阅读:
1、高并发下的接口幂等性解决方案!
2、是否注意过isEmpty 和 isBlank 区别?
3、8 种常被忽视的 SQL 错误用法
4、猜一猜, for (;;) 与 while (true) 哪个更快?
5、Dubbo 序列化协议 5 连问,你接得住不?
6、讲真,下次再也不敢随便改 serialVersionUID 了
7、Redis 最常见面试问题
8应届生,一口气拿下微软、Hulu、Amazon、腾讯、百度、网易、美团、华为等18家公司SP Offer面经
9、如何去写一手好SQL?
10、SpringBoot 注解大全,收藏了!
关注公众号,你想要的Java都在这里

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存