DAO : Data Access Object

김태홍·2023년 7월 28일

자바

목록 보기
2/3

DAO : Data Access Object

자료를 처리할 객체, 자료 처리용 클래스

public class Make_DAO {

	// 상품 저장 공간
	// 본래 데이터베이스를 이용해서 해당 DB내에 데이터를 넣고 뽑는 역할을 하는 클래스이다.
	// DAO의 의미 Data Access Object
	// 자료를 처리할 객체, 자료 처리용 클래스
	// 일단 자료를 저장할 1차원 배열 객체를 선언 생성하자
	// 물건들을 저장할 공간임으로 Product 1차원 배열을 만들어 보자

	// 상품들을 저장할 1차원 배열의 객체 배열 저장 공간
	// 앞으로 이 객체 배열에는 Product객체들이 저장될 수 있는 공간들이다.
	Product products[] = new Product[5];

	// 상품 수
	private int totalCnt; // 저장된 상품 수 를 기억할 변수

	// 사실 이 부분이 좀 놀랍다
	// 저장된 상품수를 저장할 변수를 기억해두고 활용할 수 있는 부분이 무궁무진하기 때문이다.

	/**
	 * 상품을 저장소에 저장한다. (저장소가 꽉 찬경우 "저장소가 꽉찼습니다. 메시지가 출력되고 저장이 안된다.")
	 * 
	 * @Param products 상품정보가 들어있다.
	 */

	// 상품을 저장할 메서드 임으로 매개변수로 Product의 참조 자료형 변수를 사용했다.
	// 앞으로 insert() 메서드를 통해 product 객체를 받아 1차원 객체 배열의 저장공간에
	// product를 저장할 것이다.
	public void insert(Product product) {
		if (totalCnt == 5) {
			System.out.println("저장소가 꽉 찼습니다.");
			return;
		}
		products[totalCnt] = product;
		totalCnt++;
		// index의 값이 0부터 시작하여 차례대로 product의 객체의 값이 저장된다.
		// totalCnt의값을 1씩 올려 최대 저장값을 기억한다.

	}

	/**
	 * 상품 번호로 해당 상품을 저장소에서 검색하여 반환한다.
	 * 
	 * @param prodNo 상품번호
	 * @return 상품 (번호에 해당하는 상품을 찾지 못하면 NULL을 반환한다.)
	 */

	public Product selectByProdNo(String prodNo) {

		for (int i = 0; i < products.length; i++) {
			if (prodNo.equals(products[i].getProdNo())) {
				return products[i];
			}
		}

		return null;

	}

	/**
	 * 저장소에 저장된 상품들만 반환한다.
	 * 
	 * @return 상품들을 반환 (저장소에 저장된 상품들이 없으면 null을 반환한다.)
	 * 
	 */

	public Product[] selectAll() {

		if (totalCnt == 0) {
			return null;
		}
		Product[] temp = new Product[totalCnt];

		for (int i = 0; i < totalCnt; i++) {
			temp[i] = products[i];
		}

		return temp;

	}
profile
나의 뜨거운 열정과 자신감

1개의 댓글

comment-user-thumbnail
2023년 7월 28일

좋은 글 감사합니다.

답글 달기