Certification/Spring(2V0-72.22, SCP)

Spring MVC DTO / VO

엘호리스 2018. 8. 7. 00:58

DTO / VO

Data Transfer Object / Value Object

혼용해서 많이 쓰이긴 하지만 DTO와 VO의 차이는 DTO는 write와 read를 사용하고 VO는 read only 인점.


DTO 예제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package com.example.spring01.model.dto;
 
import java.util.Date;
 
public class MemberDTO {
    //Field
    private String userid;
    private String passwd;
    private String name;
    private String email;
    private Date join_date; //java.util.Date
    
    //기본 생성자 (파라미터 없는것)
    public MemberDTO() {}
    //기본 생성자
    public MemberDTO(String userid, String passwd, String name, String email, Date join_date) {
        super();
        this.userid = userid;
        this.passwd = passwd;
        this.name = name;
        this.email = email;
        this.join_date = join_date;
    }
 
    //getter,setter,toString()
    public String getUserid() {
        return userid;
    }
    public void setUserid(String userid) {
        this.userid = userid;
    }
    public String getPasswd() {
        return passwd;
    }
    public void setPasswd(String passwd) {
        this.passwd = passwd;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public Date getJoin_date() {
        return join_date;
    }
    public void setJoin_date(Date join_date) {
        this.join_date = join_date;
    }
    @Override //toString
    public String toString() {
        return "MemberDTO [userid=" + userid + ", passwd=" + passwd + ", name=" + name + ", email=" + email + ", join_date="
                + join_date + "]";
    }
}
 
cs



  • DTO 작성 순서

  1. 데이터베이스 테이블 스키마를 확인
  2. 각 자료형에 맞게 필드를 입력
  3. 기본생성자 작성
  4. Getter / Setter / toString


Oracle & Java 자료형


 

Oracle 

Java 

MyBatis HashMap 

 문자열

Varchar2(size)

String 

 String

 숫자

number(자릿수,소수자릿수) 

String

int, double

BigDecimal 

 날짜

Date 

String

java.sql.Date

java.sql.Date

긴 문자열 

CLOB 

String 

String 

바이트배열(파일) 

BLOB 

String

(바이트배열) 

String