PO(Persistent Object)=DO(Data Object)
持久化对象,它与持久层(通常是关系型数据库)的数据结构形成意义对应的映射关系,如果持久层是关系型数据库,那么,数据表中的每个字段(或若干个)就对应PO的一个(或若干个)属性。通过DAO层向上传输数据源对象。
POJO(Plain Ordinary Java Object)
专指只有setter/getter/toString的简单类,包括DO/DTO/BO/VO等。
POJO是DO/DTO/BO/VO的统称。
DAO (data access object)
用于ORM将数据从数据库中提取出来封装成PO。
用来封装数据库的访问,通过它可以把POJO持久化为PO,用PO去组装成DTO、VO。
专门处理数据库的interface,负责持久层的操作。主要用来封装数据库的访问,常见的不外乎CRUD。
DAO管理着所有的资料访问细节,所有的实现细节代码(比如sql语句)都包含在DAO中,简化开发难度,有些连sql都不用去写。(但是虽然简化了,个人认为还是尽量写一写sql,一般面试的复杂查询,多表关联查询,group by等线上答题都会考的。face to face的面试可能会问题jpa等具体的oneToMany JoinColumn等操作,具体不在这里展开)。
VO (View Object)
视