[JDBC] 과제_0825 (2)

잠이보약·2023년 8월 27일

과제

목록 보기
2/5
post-thumbnail

DAO 클래스에 구현할 메서드 중, 추상 클래스를 상속해서 구현할 방법이 있을까 고민해본다.
DAO에서 추상 클래스를 상속받아 활용하기 위해서는 다음의 조건을 만족해야 한다.
1. 추상 클래스에서 정의한 메서드가 모두 사용되어야 한다.
2. 추상 클래스에서 정의한 메서드의 이름, 리턴 타입, parameter의 개수, 자료형, 순서를 동일하게 구현해야 한다.

DAO에서 구현하고자 하는 메서드는 다음과 같다.

  • public List<MembersVO> selectAllMembers ()
    SELECT * 
       FROM MEMBERS;
  • public MembersVO selectOneMemberByMemberId (String memberId)
    SELECT * 
      FROM MEMBERS
     WHERE MEMBER_ID = 'memberId';
  • public MembersVO selectOneMemberAndArticleByMemberId (String memberId)
    SELECT * 
      FROM MEMBERS M 
      JOIN ARTICLES A
        ON M.MEMBER_ID = A.MEMBER_ID;
  • public int deleteOneMemberByMemberId (String memberId)
    DELETE  
      FROM MEMBERS M 
     WHERE MEMBER_ID = 'memberId';
  • public int insertNewMember (MembersVO memberVO)
    SELECT * 
    	FROM MEMBERS M 
    	JOIN ARTICLES A
    	  ON M.MEMBER_ID = A.MEMBER_ID;
  • public int updateMemberGradeByMemberId(String newGrade, String memberId)
    UPDATE MEMBERS 
        SET MEMBER_GRADE = 'newGrade'
      WHERE MEMBER_ID = 'memberId';

    모든 메서드의 리턴 혹은 파라미터가 MemberVO에 종속되어 있다. 추상 클래스 사용이 비효율적인 것 같다.
    하지만 DELTE, INSERT, UPDATE에 대해서는 추상 클래스를 생성하여 DAO에서 상속받아 구현해본다.
profile
백엔드 개발자 지망생

0개의 댓글