2013-03-14 103 views
-1

我從維基百科發現了設計模式DTO的一些信息。我在其他StackOverflow討論中看到了一些討論。但是無法獲得如何創建和使用DTO的程序化理解。Java EE中的數據訪問對象設計模式

我想知道:

  1. 這是什麼讓一個「設計模式」?
  2. 何時使用此模式?

任何來源,可能有助於新手學習有關DTO是高度讚賞。

+1

'@ Entity'類是Java EE中的DTO。 – 2013-03-14 05:21:17

+1

在將數據從某處傳送到另一個地方時,通常使用DTO,例如Web服務中的實體類或JMS隊列消息中的實體類。 – 2013-03-14 05:23:07

+1

也許相關的問題:[DTO模式是否被棄用?](http://stackoverflow.com/q/11237946/1065197) – 2013-03-14 05:31:08

回答

3

1,DTO不是設計模式。準確地說,它只是一項技術。
DTO代表數據傳輸對象。
2,您需要使用從數據庫傳輸數據到其他地方不使用ResultSet,DTO可能是更好的選擇。 3,DTO在多層架構軟件開發中的一般應用,例如MVC。

例:

class User{ 
    private String id; 
    private String age; 
    private String name; 
    public String getId() { 
     return id; 
    } 
    public void setId(String id) { 
     this.id = id; 
    } 
    public String getAge() { 
     return age; 
    } 
    public void setAge(String age) { 
     this.age = age; 
    } 
    public String getName() { 
     return name; 
    } 
    public void setName(String name) { 
     this.name = name; 
    } 
}  


class DateAccess{ 
    public User getUserInfo(String id){ 
     User user= new User(); 
     String sql ="select id,name ,age from user where id =?"; 
     ResultSet rs = query(sql,id); 
     while(rs!=null&&rs.next()){ 
      user.setId(rs.getString("id")); 
      user.setName(rs.getString("name")); 
      user.setAge(rs.getString("age")); 
     } 
     return user; 
    } 
}