전체적인 기능은 사용자가 할 수 있는 기능(UserDao)과 관리자가 수행하는 기능(AdminDao)으로 구분했습니다.
UserDao(Select)
- 조회기능(Select)
- selectReserve(reserveJumin) -> 사용자가 입력한 주민번호와 동일한 주민번호가 저장된 예약정보를 불러온다.
- 주민번호의 입력형식을 정규식으로 검사합니다.
- 주민번호가 예약리스트에 존재한다면 예약 정보를 보여주고, 아니면 다시 입력하도록 합니다.
- rooms_userOnly_view사용
- selectUserList() -> 사용자가 선택할 수 있도록 현재 예약되지 않은 객실 리스트를 조회한다.
- rooms_user_view 사용
- selectReserve(reserveJumin) -> 사용자가 입력한 주민번호와 동일한 주민번호가 저장된 예약정보를 불러온다.
AdminDao(Select, Insert, Update, Delete)
- 조회기능
- selectAdminListALL() -> 관리자가 조회할 수 있는 정보. 모든 객실에 대해 예약자의 정보가 함께 나온다.
- rooms_admin_view사용
- selectAdminList() -> 관리자가 조회할 수 있는 정보. 예약된 객실에 대해서만 예약자의 정보가 나온다. 비교용
- rooms_admin_view사용 (where조건절 is not null을 사용해 데이터를 필터링 한다.)
- selectAdminListALL() -> 관리자가 조회할 수 있는 정보. 모든 객실에 대해 예약자의 정보가 함께 나온다.
- 삽입기능
- insert(adminVo vo) -> 사용자가 예약을 시도하는 경우 사용자의 정보를 받아서 reservation테이블에 삽입
- 수정기능
- update(int roomNoBefore, int roomNoAfter) - > 이전에 예약한 객실과, 새로 예약할 객실을 인자로 받아서 reservation테이블의 데이터를 수정합니다. 이때 원본 테이블을 수정했기때문에, 원본테이블로 만든 뷰는 자동으로 수정됩니다.
- 이미 예약된 객실로 변경하려는 경우 변경 내용을 수용하지 않고 다시 입력하도록 합니다.
- 삭제기능
- delete(int roomNo) -> reservation테이블의 기본키인 roomno를 where조건절을 사용해서 삭제한다.
뷰 내용
rooms_admin_view
rooms_user_view
rooms_userOnly_view(주민번호가 일치하는 레코드만 조회가능)
ERD
'BackEnd > WEB' 카테고리의 다른 글
JSP_국비_DAY48 (0) | 2022.05.09 |
---|---|
JSP_국비_DAY47 (0) | 2022.05.06 |
JSP_국비_DAY46 (0) | 2022.05.04 |
국비_DAY45 (0) | 2022.05.03 |
국비_DAY44 (0) | 2022.05.02 |