zoukankan      html  css  js  c++  java
  • 初识VO、DTO、DO、PO实体类

    首先解释一下,VO、DTO、DO、PO均是实体类,其性质是一样的,只是因为安全性及其他原因将其划分为了不同的层次。之所以这么划分是因为:假如有一张user表,包含userName、userPassWord、age、position这四个字段。现要展示user表中的信息到页面,密码肯定是不能展示的,但是与表user对应的PO实体类有userPassWord属性,如果全局都用这一个实体类,那么密码字段也会被传到页面,却不被使用。这样一来,传递了无用字段,并且安全性得不到保障。

    1. VO:View Object(视图对象,作用于前台页面与表示层之间,将所有的数据封装到一起,比如:表单数据)

    VO一般用于封装前端页面传递到Action/Controller的所有参数,这些参数并不一定完全与数据库中表的所有字段均匹配。

    2. DTO: Data Transfer Object(数据传输对象,作用于表示层与业务层之间)

    Action/Controller将接收到的VO对象进行业务逻辑处理,转化或者构造成DTO对象将其传递给service层

    3. DO:Domain Object(领域对象,作用于业务层与dao层之间)

    service使用接收到的DTO数据传输对象构造或者重构DO对象,传递到dao层

    4. PO:Persistent Object(持久化对象,作用于dao层与数据库交互)

    PO对象一般对应着表结构,由DO对象进过持久化得到PO对象(比如,通过orm将其持久化)。转化为持久化对象PO后则可以与数据库进行交互。

  • 相关阅读:
    error PRJ0019的一个解决心得
    3月3日工作日志88250
    IBM、BEA和JBoss应用服务器采用OSGi
    四级再次挂了
    迁移应用进入基于Annotation MVC的spring 2.5
    如何在VC6.0中设置条件断点
    3月4日工作日志88250
    KMP字符串模式匹配详解
    KMP字符串模式匹配详解
    C/C++之SQLite常用函数
  • 原文地址:https://www.cnblogs.com/raorao1994/p/14504115.html
Copyright © 2011-2022 走看看