MERGE INTO MERGE INTO target_table USING source_table ON (조건) WHEN MATCHED THEN UPDATE SET 변경사항 WHEN NOT MATCHED THEN INSERT (column1, column2, ...) VALUES (value1, value2, ...); MERGE INTO 사용할 테이블 USING 비교할 테이블 (없으면 DUAL) ON 비교 조건 WHEN MATCHED THEN 조건이 충족 시 해당 UPDATE문 실행 WHEN NOT MATCHED THEN 조건이 불충족 시 해당 INSERT문 실행 여기서 UPDATE문, INSERT문에는 테이블명은 생략합니다! UPDATE문의 WHERE절은 생략해도 되고 안 해도 됩니다. 해당 쿼리문을 ..
필드를 통한 의존성 주입 컨트롤러에서 서비스의 메소드를 사용하기 위해 서비스 클래스에는 @Service("서비스명")를 컨트롤러에는 @Resource(name="서비스명")으로 필드를 생성하여 의존성을 주입할 수 있습니다. 올드한 방식임!! 생성자를 통한 의존성 주입 스프링 부트에서 권장되는 방법으로 해당 클래스의 생성자를 통해 의존성을 주입할 수 있습니다. 생성자를 자동으로 만들어주는 어노테이션을 사용하여 코드를 간결하게 만들어줄 수 있습니다! @RequiredArgsConstructor 이 때, 필드는 final로 만들어주어야 합니다. (의존성 역전의 원칙을 지키기 위함임!)
@RequestParam 스프링 부트에서 @RequestParam은 HTTP 요청 파라미터를 컨트롤러 메서드의 매개변수로 바인딩하기 위해 사용되는 어노테이션입니다. @RequestParam(name = " ") HTML에서 name값과 전달 받는 컨트롤러의 매개변수를 동일시켜서 데이터를 전달받는데 @RequestParam의 name과 동일시켜주면 매개변수명을 다르게 해도 데이터 받을 수 있습니다. @RequestParam(required = true) : true면 해당 변수로 전달되는 데이터가 있어야함 컨트롤러 메소드 매개변수에 @RequestParam을 안 넣으면 기본 값이 @RequestParam(required = false) 로 해당 변수도 전달되는 데이터가 없어도 오류가 안나고 null로 뜸 ..