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;
}
좋은 글 감사합니다.