배움장 - 0tak
2023년 1월 2일부터 1월 6일까지
2023-01-07- 이번 주에는 개인 프로젝트를 진행했다.
- 1월 2일 월요일
- 1월 3일 화요일
- StageManager 구현
- 어떤 컨트롤러에서든 자유롭게 원하는 레이아웃으로 전환할 수 있도록 만든 공유 클래스이다.
- 인스턴스를 얻을 때 JavaFX Stage를 주입받으며, 모든 FXML 파일의 위치가 HashMap으로 필드에 저장된다.
- 기본 대출, 반납 기능 구현
- 대출 현황 조회 구현
- 도서 정보 테이블, 계정정보 테이블, 대출 이력 테이블을 JOIN하여 질의해야하는 경우가 생겨 성가셨다.
- 처음에는 DAO 내에 복잡한 JOIN이 들어간 SQL문을 지정했으나, 이후 MySQL 상에 뷰를 생성하여 대체하였다.
- 1월 4일 수요일
- 일반 이용자 기본 화면 작성
- 최근 대출 이력, 미납도서 조회 등 기능 구현
- 도서 정보 추가, 수정 기능 구현
- 1월 5일 목요일
- 계정 관련 CRUD, 도서 정보 관련 CRUD 모두 완료
- 기본적인 기능의 구현이 모두 완료됨
- 계정 삭제시 DELETE를 실행하지 않고, UNIQUE 값인 유저 아이디만을 남기고 다른 모든 데이터를 ““이나 null로 UPDATE 하도록 처리함. 계정의 PK가 대출 이력의 FK로 잡히게 되므로 제약사항에 따라 DELETE가 불가능한 경우가 있기 때문
- 1월 6일 금요일
- 교수님 피드백에 따라 프로젝트 구조 정비
- JOIN이 필요한 경우를 MySQL 상에서 뷰로 생성해놓았음. DAO 내의 복잡한 SQL문을 간단하게 수정할 수 있게 됨.
- 다음 주에는 MyBatis를 배울 예정. 프로젝트에 이 기술을 적용할 것임.