ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [java]DTO(또는 VO)에서 객체의 default 값 만들어주는 방법(Constructor of DTO)
    프로그래밍 언어/자바 & 코틀린 2018. 11. 20. 11:57
    dtovalue

    DTO에서 생성자를 통해 default value 생성하기

    insert를 할 경우 기본값이 있다면 DTO에서 만들어주고 Primary key가 될 변수만 새로운 값을 넣어주면 된다.


    생성자를 통해 default 값을 만든 이유는 현재 회사에서 개발중인 메뉴가 환경설정 부분이기 때문이다. 사용자가 따로 설정해두지 않으면 default값이 들어가 있도록 하기 위해서다. (최초 메뉴 사용 시 설정된 값이 없을 것이기 때문에 최초 메뉴 클릭시 default를 insert 해주도록)


    기본 생성자를 통해 default값을 만들 수도 있고, 오버로딩을 통해 생성자에 매개변수를 넣어서 기본 값을 만들 수 있다.


    만들어 본 코드 예시

    
    public  class  ConstructDto {
    
        private  String  compName; // 회사 이름
    
        private  String  empName; // 사원 이름
    
        private  String  hobby; // 취미
    
        private  boolean  marryYn; // 결혼 유/무
    
        private  Date  joinDate; // 입사일
    
        private  String  positionName; // 직책명
    
        private  int  wage; // 월급
    
        public  String  getCompName() {
          return compName;
        }
    
        public  void  setCompName(String  compName) { 
          this.compName = compName;
        }
    
        public  String  getEmpName() {
          return empName;
        }
    
        public  void  setEmpName(String  empName) {
          this.empName = empName;
        }
    
        public  String  getHobby() {
          return hobby;
        }
    
        public  void  setHobby(String  hobby) {
          this.hobby = hobby;
        }
    
        public  boolean  isMarryYn() {
          return marryYn;
        }
    
        public  void  setMarryYn(boolean  marryYn) {
          this.marryYn = marryYn;
        }
    
        public  Date  getJoinDate() {
          return joinDate;
        }
    
        public  void  setJoinDate(Date  joinDate) {
          this.joinDate = joinDate;
        }
    
        public  String  getPositionName() {
          return positionName;
        }
    
        public  void  setPositionName(String  positionName) {
          this.positionName = positionName;
        }
    
        public  int  getWage() {
          return wage;
        }
    
        public  void  setWage(int  wage) {
          this.wage = wage;
        }
    
        /** 아무 매개변수 없이 default값을 생성해주는 생성자 */
        public  ConstructDto(){
    
          this.compName = "chocolateFactory";
    
          this.empName = "zorba";
    
          this.hobby = "coding";
    
          this.marryYn = false;
    
          this.joinDate = new  Date();
         }
    
        /** 직책명과 월급을 입력해주었을 때 직책명과 월급을 포함해 나머지 default값을 생성해준다 */
        public  ConstructDto(String  positionName, int  wage){
    
          this.compName = "chocolateFactory";
    
          this.empName = "zorba";
    
          this.hobby = "coding";
    
          this.marryYn = false;
    
          this.joinDate = new  Date();
    
          this.positionName = positionName;
    
          this.wage = wage;
        }
    
        @Override
        public  String  toString() {
          return  "ConstructDto{" + "compName='" + compName + '\'' +
                  ", empName='" + empName + '\'' + ", hobby='" + hobby + '\'' +
                  ", marryYn=" + marryYn + ", joinDate=" + joinDate +
                  ", positionName='" + positionName + '\'' + ", wage=" + wage +
           '}';
        }
    
    }
    
    

    메인에서 호출할 때 코드

    
    public  class  MainOfConstructDto {
    
       public  static  void  main(String[] args){
         StringBuilder  sb = new  StringBuilder();
         ConstructDto  constructDto = new  ConstructDto();
    
         sb.append("DTO에서 생성자를 통해 default 값 세팅 \n");
         sb.append("회사 이름 default: "+constructDto.getCompName()+"\n");
         sb.append("사원 이름 default: "+constructDto.getEmpName()+"\n");
         sb.append("취미 default: "+constructDto.getHobby()+"\n");
         sb.append("결혼 유/무 default: "+constructDto.isMarryYn()+"\n");
         sb.append("입사일 default: "+constructDto.getJoinDate()+"\n\n\n");
      
         constructDto = new  ConstructDto("연구원", 1000000);
         sb.append("positionName과 wage를 매개변수로 하는 생성자로 default 값 세팅하기 \n");
         sb.append("회사 이름 default: "+constructDto.getCompName()+"\n");
         sb.append("사원 이름 default: "+constructDto.getEmpName()+"\n");
         sb.append("취미 default: "+constructDto.getHobby()+"\n");
         sb.append("결혼 유/무 default: "+constructDto.isMarryYn()+"\n");
         sb.append("입사일 default: "+constructDto.getJoinDate()+"\n");
         sb.append("직책 이름 default: "+constructDto.getPositionName()+"\n");
         sb.append("월급 default: "+constructDto.getWage());
    
         System.out.println(sb.toString());
         }
    }
    
    

    결과 값은 아래처럼 나온다.

    
    DTO에서 생성자를 통해 default 값 세팅
    
    회사 이름 default: chocolateFactory
    사원 이름 default: zorba
    취미 default: coding
    결혼 유/무 default: false
    입사일 default: Tue Nov 20 01:10:05 KST 2018
    
    positionName과 wage를 매개변수로 하는 생성자로 default 값 세팅하기
    회사 이름 default: chocolateFactory
    사원 이름 default: zorba
    취미 default: coding
    결혼 유/무 default: false
    입사일 default: Tue Nov 20 01:10:05 KST 2018
    직책 이름 default: 연구원
    월급 default: 1000000
    


Designed by Tistory.