在實際的開發中,VO對應頁面上需要顯示的數據,DO對應於數據庫中儲存的數據(表列,也就是model),DTO對應於除二者之外需要傳遞的數據。 DTO(data transfer object):數據傳輸對象,以前被稱為值對象(VO,value object),作用僅在於在應用程序的各個子系統間傳輸數據,在表現層展示。與POJO對應一個數據庫實體不同,DTO並不對應一個實體,可能僅存儲實體的部分屬性或加入符合傳輸需求的其他的屬性
DTO:數據傳輸對象,主要用於外部接口參數傳遞封裝,接口與接口進行傳遞使用。
VO:視圖對象,主要用於給前端返回頁面參數使用。
DO:數據對象,主要用於數據庫層傳遞。
DTO轉DO:接口接收參數將參數轉化為數據庫實體操作數據庫使用。
DO轉DTO:將數據庫層實體轉化為DTO返回給客戶端。
DO,DTO和VO的使用
DO:對應數據庫表結構
VO:一般用於前端展示使用
DTO:用於數據傳遞。(接口入參和接口返回值都可以)
以ssm框架為例:
controller層:
public List<UserVO> getUsers(UserDTO userDto);
Service層:
List<UserDTO> getUsers(UserDTO userDto);
DAO層:
List<UserDTO> getUsers(UserDO userDo);