본문 바로가기

ETC/스프링 일기8

8 유효성 검사와 예외 처리데이터를 사전 검증하는 작업 필요. - 유효성 검사/ 데이터 검증가장 신경 써야 하는 예외는 NullPointException..  Bean Validation 프레임워크유효성 검사를 위한 로직을 DTO 같은 도메인 모델과 묶어서각 계층에서 사용하면서 검증 자체를 도메인 모델에 얹는 방식.@Data@NoArgsConstructor@AllArgsConstructor@ToString@Builderpublic class ValidRequestDto { @NotBlank //null, "", " " 을 허용하지 않음. String name; @Email //이메일 형식 검사, "" 허용 String email; //정규식 검사. 전화번호 형식 @Pattern(regexp = ".. 2023. 3. 27.
7 연관 관계 매핑 JPA를 사용하는 객체지향 모델링에서는 엔티티 간 참조 방향 설정. -단방향: 두 엔티티의 관계에서 한쪽의 엔티티만 참조하는 형식. -양방향: 두 엔티티의 관계에서 각 엔티티가 서로의 엔티티를 참조하는 형식. -- 서로 외래키 가짐. ※외래키를 가진 테이블이 그 관계의 주인이 되고, 주인은 외래키를 사용할 수 있으나 상대 엔티티는 읽는 작업만 수행 가능. 일대일 매핑 @OneToOne //연관관계의 주인. //(optional = false) 이거 설정하면 반드시 값 있어야 함. @JoinColumn(name = "product_number") private Product product; -연관 관계의 주인의 객체를 먼저 조회한 후 매핑된 객체 조회 가능. @Autowired Produc.. 2023. 3. 26.
6 페이징 처리 -Page findByName(String name, Pageable pageable); -Page xxxPage = xxxRepository.findByName("x", PageRequest.of(0,2)); -.getContent() : 배열 형태로 값이 출력. -of 매서드 of(int page, int size) : 페이지 번호(0부터), 페이지당 데이터 개수 / 데이터 정렬 x of(int page, int size, Sort) : 페이지 번호, 페이지당 데이터 개수, 정렬 Query 어노테이션 -주로 튜닝된 쿼리를 사용하고자 할 때 사용. -@Param 어노테이션 필요 : 파라미터 순서 바뀌면 오류 발생. -JPQL은 직접 문자열을 입력하기 때문에 컴파일 시점에 에러를 잡지 못하고.. 2023. 3. 17.
5 테스트 주도 개발(TDD) -테스트 코드를 먼저 작성한 후 테스트를 통과하는 코드르 작성하는 과정을 반복하는 SW 개발 방식. -애자일 SW 개발 방법론 : 신속한 개발 프로세스를 통해 수시로 변하는 고객의 요구사항에 대응해서 제공하는 서비스의 가치를 극대화하는 것. -디버깅 시간 단축, 생산성 향상, 재설계 시간 단축, 기능 추가와 같은 추가 구현이 용이 JPQL -JPA에서 사용할 수 있는 쿼리. -엔티티 객체를 대상으로 수하하는 쿼리이므로 엔티티의 이름과 필드의 이름을 사용. 2023. 3. 16.