공부하기/Java 겹바림

[Java 복습] DAO, DTO 작동 구조 연습

XEV 2022. 12. 31. 20:40

DAO, DTO 구조에 대한 이해가 부족하기에 이에 대한 연습을 하기위해 나만의 간단한 형식의 Main, DAO, DTO 클래스를 작성하여 데이터 프린트를 해보았다.

 

 

데이터 교환 역할을 할 DTO

// SmallDto.java
package dto;

public class SmallDto {
    private int num1;
    private int num2;
    
    public SmallDto() {}

    public SmallDto(int num1, int num2) {
        super();
        this.num1 = num1;
        this.num2 = num2;
    }

    public int getNum1() {
        return num1;
    }

    public void setNum1(int num1) {
        this.num1 = num1;
    }

    public int getNum2() {
        return num2;
    }

    public void setNum2(int num2) {
        this.num2 = num2;
    }

    @Override
    public String toString() {
        return "SmallDto [num1=" + num1 + ", num2=" + num2 + "]";
    }

}

두 개의 Int num1, num2 를 선언하고 constructor, getter, setter 그리고 toString 을 만들어 둔다.

 

 

 

데이터 접근 역할을 할 DAO

package dao;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import dto.SmallDto;

public class SmallDao {
    
    private List<SmallDto> list = new ArrayList<SmallDto>();
    
    public SmallDao() {
        SmallDto sdto = new SmallDto();
        sdto = new SmallDto(1111, 2222);
        
        list.add(sdto);
        for (int i = 0; i < 5; i++) {
//          list.add(new SmallDto(i, i+1));
            sdto = new SmallDto(i * 2, i * 2 + 1);
            list.add(sdto);
            System.out.println("sdto.getNum1(): " + sdto.getNum1());
            System.out.println("sdto.getNum2(): " + sdto.getNum2());
        }
        
        for (SmallDto sdtols : list) {
            System.out.println(sdtols.toString());
        }
        System.out.println(Arrays.deepToString(list.toArray()));
        
        int index = 3;
        list.get(index).setNum1(7777);
        list.get(index).setNum2(7777);
        System.out.println(Arrays.deepToString(list.toArray()));
        
    }

}

ArrayList 를 만들어 DTO 를 통해 데이터를 저장하고 getter 를 통해 이를 출력해본다. 그리고 setter 을 통해 리스트 특정 위치의 데이터를 변경한다.

 

 

 

DAO 를 동작시켜 줄 Main

// Main.java
package main;
import dao.SmallDao;

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        SmallDao dao = new SmallDao();
    }

}

 

 

 

코드를 실행한 출력 결과

sdto.getNum1(): 0
sdto.getNum2(): 1
sdto.getNum1(): 2
sdto.getNum2(): 3
sdto.getNum1(): 4
sdto.getNum2(): 5
sdto.getNum1(): 6
sdto.getNum2(): 7
sdto.getNum1(): 8
sdto.getNum2(): 9
SmallDto [num1=1111, num2=2222]
SmallDto [num1=0, num2=1]
SmallDto [num1=2, num2=3]
SmallDto [num1=4, num2=5]
SmallDto [num1=6, num2=7]
SmallDto [num1=8, num2=9]
[SmallDto [num1=1111, num2=2222], SmallDto [num1=0, num2=1], SmallDto [num1=2, num2=3], SmallDto [num1=4, num2=5], SmallDto [num1=6, num2=7], SmallDto [num1=8, num2=9]]
[SmallDto [num1=1111, num2=2222], SmallDto [num1=0, num2=1], SmallDto [num1=2, num2=3], SmallDto [num1=7777, num2=7777], SmallDto [num1=6, num2=7], SmallDto [num1=8, num2=9]]

 

 

'공부하기 > Java 겹바림' 카테고리의 다른 글

[Java 복습] 단순한 성적 관리 CLI  (0) 2022.12.26
[Java 복습] 프린트 그리고 변수  (0) 2022.12.19
Java 시작  (0) 2022.12.19