반응형
목차
사소할 수 있지만 이유를 몰라서 쿼리 작성 시 에러 때문에 시간을 잡아 먹어서 역시나 미래의 내가 보기위해 기록한다.
예를 들어 위와 같은 쿼리가 있을 때 parameter값에 따라 동적으로 SQL을 생성 시 SELECT문 컬럼 뒤쪽에 ","를 넣으면 문법에러가 발생한다.
넘어온 member_id값이 있으면 , mcm.etc가 붙는 데 만일 위의 쿼리가 아래와 같다면 동적 쿼리를 붙이질 못한다.
select m.*,
mcm.tag_type,
mcm.tag_name,
<if test="member id != null and member_id != ''">
mcm.etc
</if>
FROM member m LEFT OUTER JOIN member_code_mapping ON m.member_seq = mcm.member_seq
LIMIT #{start}, #{length}
이 경우는 넘어온 member_id가 없으면 아래처럼 쿼리가 작성되서 문법 에러가 발생한다.
select m.*,
mcm.tag_type,
mcm.tag_name,
FROM member m LEFT OUTER JOIN member_code_mapping ON m.member_seq = mcm.member_seq
...
동적 쿼리 작성 시에는 SELECT 컬럼 앞에 ","를 붙여서 아래처럼 작성해야 한다.
select m.*
, mcm.tag_type,
, mcm.tag_name
FROM member m LEFT OUTER JOIN member_code_mapping ON m.member_seq = mcm.member_seq
누구에게는 사소한 정보일 수 있지만 누구(정보를 몰랐던 나)에게는 사소하지 않을 수 있기에 포스팅을 한다.
반응형
'IT > development' 카테고리의 다른 글
[spring] 의존성 주입 시 NPE(NullPointerException) (0) | 2022.11.23 |
---|---|
[springBoot] JPA @Entity에서 @NoArgsConstructor, @AllArgsConstructor, @Builder... 사용 관련 정리 (0) | 2022.11.22 |
[Spring] spring REST API 공부(feat. @RestController) (0) | 2022.11.22 |
[springBoot] 유효성 검증(feat. @Valid, Validated) (0) | 2022.11.22 |
[mybatis] mybatis parameter 여러개 전달 (0) | 2022.11.22 |