• Java (PO,VO,DAO,BO,POJO,DTO) 几种对象解释


    1. PO:persistant object 持久对象

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

    2. VO:value object 值对象

      通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要.个人觉得同DTO(数据传输对象),在web上传递。  

    3. DAO:data access object 数据访问对象

      此对象用于访问数据库。通常和PO结合使用,DAO中包含了各种数据库的操作方法。通过它的方法,结合PO对数据库进行相关的操作。  

    4. BO:business object 业务对象

      封装业务逻辑的java对象,通过调用DAO方法,结合PO,VO进行业务操作。  BI数据

    5. POJO:plain ordinary java object 简单的Java对象

      即POJO是一个简单的普通的Java对象,它不包含业务逻辑或持久逻辑等,但不是JavaBean、EntityBean等,不具有任何特殊角色和不继承或不实现任何其它Java框架的类或接口。,VO和PO应该都属于它。

    6. DTO:Data Transfer Object 数据传输对象

      DTO 是简单对象,它不应该包含需要测试的任何业务逻辑。

    7. PO与VO区别

      O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写。通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据。在O/R Mapping的世界里,有两个基本的也是重要的东东需要了解,即VO,PO。 

      VO,值对象(Value Object),PO,持久对象(Persisent Object),它们是由一组属性和属性的get和set方法组成。从结构上看,它们并没有什么不同的地方。但从其意义和本质上来看是完全不同的。 

      1.VO是用new关键字创建,由GC回收的。 
          PO则是向数据库中添加新数据时创建,删除数据库中数据时削除的。并且它只能存活在一个数据库连接中,断开连接即被销毁。 
      2.VO是值对象,精确点讲它是业务对象,是存活在业务层的,是业务逻辑使用的,它存活的目的就是为数据提供一个生存的地方。 
            PO则是有状态的,每个属性代表其当前的状态。它是物理数据的对象表示。使用它,可以使我们的程序与物理数据解耦,并且可以简化对象数据与物理数据之间的转换。 
      3.VO的属性是根据当前业务的不同而不同的,也就是说,它的每一个属性都一一对应当前业务逻辑所需要的数据的名称。 
            PO的属性是跟数据库表的字段一一对应的。  
      PO对象需要实现序列化接口。

  • 相关阅读:
    JFinal项目eclipse出现the table mapping of model: com.gexin.model.scenic.Scenic not exists or the ActiveRecordPlugin not start.
    mysql图形化工具获取表的源码
    数据库中字段是什么意思?
    myeclipse出现Failed to load JavaHL Library.
    1002.查找常用字符
    JS中的AO 和 VO 闭包
    制作icon图标
    babel
    递归时间复杂度
    js函数的柯里化和偏函数
  • 原文地址:https://www.cnblogs.com/loveincode/p/6856203.html
Copyright © 2020-2023  润新知