SSM框架中三层数据传输(VO,DO,AO)

1.接口层VO和逻辑层DO

1.xxDO是数据库直接取来或注册进去的数据,基本和xxMapper.java以及xxMapper.xml有关
xxVO通常是和H5界面直接相关的数据,
两者在代码中相互转换
比如 PatientDO patient = convertVO2DO(patientVO);
user_client里的vo有3个…VO类,均继承于Serializable接口。

 private static xxVO convertDO2VO(XXDO xxDO) {
        
        XXVO xxVO = new PatientVO();
        xxVO.setPatientName(xxDO.getPatientName());
        xxVO.setUserId(xxDO.getUserId());
         ...
        return xxVO;
    }

调用则是XXVO xxVO = convertDO2VO(xxDO);
2.Serializable接口是Java提供给类来序列化的空接口,啥都没有是因为接口是给JVM看的。
下面以user-client里vo的InquiryOrderVO()方法为例。

import java.io.Serializable;public class InquiryOrderVO implements Serializable {
      /*以下内容都是举例子用的*/
      private static final long serialVersionUID = 1L;
      private Long corpId;
      private String doctPictureUrl;//医生头像url
      private String illnessDesc;//病情描述
      private String doctorSex;//医生性别
      //会话状态 1.进行中  2.医生发起结束,待用户确认 3.会话结束
      private Integer conversationStatus;
      /**
     * 预约时间/就诊时间
     */
    private Date medDate;/**
     * 问诊类型 1-图文问诊 2-视频问诊
     */
    private Integer inquiryType;

    ......
}

这个VO类中的字段们在run后都在堆内存中,程序执行完毕后内存得到释放,字段值也不复存在。如果现在计算机要把这个类的实例发送到另一台机器、或是想保存这个VO类的实例到数据库(持久化对象),以便以后再取出来用。这时就需要对这个类进行序列化,便于传送或保存。用的时候再反序列化重新生成这个对象的实例。

2.AO:dao层的数据

发布了21 篇原创文章 · 获赞 4 · 访问量 1350

猜你喜欢

转载自blog.csdn.net/smile001isme/article/details/105258898