• 初识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后则可以与数据库进行交互。

  • 相关阅读:
    python中json.dumps()和json.dump() 以及 json.loads()和json.load()的区分
    Python的函数
    Python的Set容器
    Python的Dict容器
    Python的tuple容器
    Python的List容器
    python 的控制流程
    Python 数据类型
    k8s-Pod调度策略
    K8s创建pod yaml文件详解
  • 原文地址:https://www.cnblogs.com/raorao1994/p/14504115.html
Copyright © 2020-2023  润新知