아래와 같이 parameter로 searchKeyword를 넣어주며 시도했는데, searchKeyword에 아무값도 들어가지 않은 듯 모든 컬럼을 select하는 문제가 발생했다.
<select id="selectListByKeyword" parameterType="String" resultMap="companyResultMap">
SELECT CO_URL, CO_NAME, CO_INTRODUCE, MB_NAME, MB_ADDRESS1, MB_ADDRESS2
FROM COMPANY C JOIN
MEMBER M ON C.MB_NO = M.MB_NO
WHERE (C.CO_URL LIKE '%' || #{searchKeyword} || '%') OR (C.CO_NAME LIKE '%' || #{searchKeyword} || '%')
</select>
오류도 없이 전체를 select하며 잘 동작하는 중
문제의 원인은 || 이었다.
<select id="selectListByKeyword" parameterType="String" resultMap="companyResultMap">
SELECT CO_URL, CO_NAME, CO_INTRODUCE, MB_NAME, MB_ADDRESS1, MB_ADDRESS2
FROM COMPANY C JOIN
MEMBER M ON C.MB_NO = M.MB_NO
WHERE (C.CO_URL LIKE '%' #{searchKeyword} '%') OR (C.CO_NAME LIKE '%' #{searchKeyword} '%')
</select>
와일드카드를 사용할 때 || 를 넣어주지 않아도 잘 동작한다.
문제 해결에 참고한 stackoverflow 링크
'Database' 카테고리의 다른 글
[Spring] 해시태그 검색 데이터베이스 설계 및 쿼리 구성 (0) | 2021.05.27 |
---|---|
[MyBatis] insert한 컬럼의 id를 return하기 (0) | 2021.05.02 |
[데이터베이스] DDL, DML, DCL, DQL, TCL 의 정의 및 주요함수 (0) | 2021.03.12 |
[오라클] 일정 숫자만큼 규칙적으로 증가하는 입력 [시퀀스] - 생성, 사용, 수정, 초기화하기 (0) | 2021.03.11 |
[오라클] 뷰 생성, 수정하기 (0) | 2021.03.11 |
댓글