Spring MVC - Handler Interceptor HandlerInterceptor HandlerMapping 에 설정할 수 있는 인터셉터 핸들러를 실행하기 전, 후 그리고 완료 시점에 부가작업을 하고싶은경우 사용할 수 있다. 여러 핸들러에서 반복적으로 사용하는 코드를 줄이고 싶을때 사용가능하다. 로깅, 인증 등 ... // preHandle // 요청 처리 // postHandle // 뷰 렌더링 // afterCompletion boolean preHandle(req, res, handler) handler 실행 전 호출 handler 의 정보를 사용할 수 있기 때문에 서블릿 필터보다 세밀한 로직을 구현할 수 있다. 리턴타입 (boolean) 으로 다음 인터셉터 or 핸들러로 요청, 응답 처..
데이터베이스 Key 의 개념 및 종류 Key는 데이터베이스에서 다른 튜플들과 구별 할 수 있는 유일한 식별자가 될 수 있는 속성입니다. 튜플: 릴레이션을 구성하는 각 행, 속성의 모임으로 구성된다. 1.후보키 (Candidate Key) 릴레이션을 구성하는 속성들 중 튜플을 '유일하게 식별할 수 있는 속성들의 부분집합' 을 의미한다. 모든 릴레이션은 반드시 하나 이상의 후보키를 가져야한다. 릴레이션에 있는 모든 튜플에 대해 '유일성과 최소성'을 만족 시켜야한다. 회원 릴레이션에서 ID, 주민번호 는 다른 레코드를 유일하게 식별 가능한 기본키로 사용할 수 있으므로 후보키가 된다. 2. 기본키 (Primary Key) 후보키 중에서 선택한 주키 한 릴레이션에서 튜플을 유일하게 식..
기본키 전략 - 자연키, 인조키 자연키 회원테이블을 생성한다고 가정 회원 ----- ID 이름 전화번호 주민등록번호 주소 성별 .... 대략적인 회원테이블의 구조이다. 각각 고유한 기본키를 지정해주어야한다. 이름, 성별, 주소, 전화번호 등은 중복적인 값이 들어올수있는 속성이므로 부적합하다. 그렇다면 남는것은 ID와 주민등록번호이다. 회원테이블을 생성하고, 회원테이블의 속성들을 추출해낸다. 추출한 소성중 가장 효율적인 속성을 간추려 기본키로 설정한다. 비즈니스 모델에서 자연스레 나오는 속성으로 기본키를 정한다고해서 자연키 (Natural Key) 라고 표현한다. 인조키 이번에는 스터디 멤버 테이블을 생성한다고 가정 스터디 멤버 --------- 스터디멤버번호 스터디번호 멤버명 전화번호 주소 성별 ......

Spring MVC DomainClassConverter Spring data jpa 는 Spring MVC를 위한 DomainClassConverter를 제공한다. DomainClassConverter Spring data jpa 가 제공하는 Repository를 사용하여 ID에 해당하는 엔티티를 읽어온다. 의존성 추가 Entity 등록 Repository 정리 GET /sample/1 으로 요청을 보내면 1이라는 ID에 해당하는 Entity를 Repository에서 찾아서 Conversion 을 해준다. ID에 해당하는 Entity가 존재하지않는다면 null 로 가져온다.