본문 바로가기
개발/자바

(데이터베이스, 자바 )VO, DAO

by kakk789 2022. 4. 19.

VO, DAO

  • 데이터베이스 연동 프로그램을 만들때에는 VO, DAO를 만드는 것이 일반적이다
  • DAO에서만 데이터베이스에 엑세스 할 수 있게 되면 다수의 워격 호출로 인해 발생될 수 있는 오버헤드 등을 줄일 수 있다.
  • VO, DAO는 클래스 따로 구성
VO ( Value Object )
- 데이터베이스 테이블을 객체로 표현하기 위한 클래스
- Getter, Setter, 생성자 등 데이터 저장용 클래스 


DAO ( DataBase Access Object )
- 데이터베이스에 접근하여 검색, 추가, 수정, 삭제의 명령을 수행하는 클래스
- 실직적으로 DB와 연동되는 클래스

코드 구성 설명

1. VO class

  • 필요한 생성자 / getter / setter를 생성
  • 해당 테이블의 구조가 될 것임

2. DAO class

  • DB연결 후 데이터 결과 값을 리스트에 추가
  • bookCheck라는 함수를 만들어서 BookVO 타입의 데이터를 list에 추가
	public ArrayList<BookVO> bookCheck(String publisher){
		ArrayList<BookVO> list = new ArrayList<BookVO>();
        ..
        ..
        BookVO vo = new BookVO(bookid, bookname, price);
        list.add(vo);
        
    }

3. Main class

  • dao의 객체 생성 후 dao 'DB연결 함수' 결과 값을 'VO 클래스' 타입의 리스트로 저장
  • 저장 후 출력
		ArrayList<BookVO> list = dao.bookCheck(publisher);
		
		System.out.println("책번호\t" +"책이름\t" + "\t" + "가격\t");
		
		for(int i=0 ; i<list.size(); i++) {
			System.out.print(
					list.get(i).getBookid() + "\t"+
					list.get(i).getBookname()  + "\t"+ "\t"+
					list.get(i).getPrice() + "\t" );
			System.out.println();
		}

4. 결과 값

반응형

댓글