티스토리 뷰
MyBatis] 동적 쿼리 생성시 삽질 주의
MyBatis로 동적 쿼리 생성시 주의 해야 할 점.
MyBatis 문법은 RDBMS 별로 쿼리가 조금 씩 달라지며,
자신이 사용하는 디비에 맞지 않게 사용하면 하루종일 삽질하고 자신의 있는 모습을 볼 수 있을거다.
다 같은 구문을 사용할 줄 알았는데. 이거 때문에 몇시간을 날려 먹었는지..
LIKE 문
# SQL 에서 LIKE 문 은 아래와 같이 사용된다.
SELECT * FROM TABLE_NAME
WHERE COLUMN_NAME LIKE PATTERN
SELECT * FROM SAMPLE
WHERE TAG LIKE 'Sa%'
OR WHERE TAG LIKE '%am'
OR WHERE TAG LIKE '%am%'
# Mybatis에서는 DBMS 종류 별로 차이가 있다.
# MySql
SELECT * FROM TABLE_NAME
WHERE COLUMN_NAME LIKE CONCAT(‘%’, #{searchKeyword}, ‘%’)
# ORACLE
SELECT * FROM TABLE_NAME
WHERE COLUMN_NAME LIKE '%'||#searchKeyword#||'%'
# Ms-Sql
SELECT * FROM TABLE_NAME
WHERE COLUMN_NAME LIKE '%' + #searchKeyword# + '%'
이 처럼 미묘하게 다르니깐, 꼭 확인후 사용 하자.
추가
# # 대신 $ 를 붙여서 SQL 에서 쓰던식으로 써도 된다고는 하는데 해보지는 않았다.
SELECT * FROM TABLE_NAME
WHERE COLUMN_NAME LIKE '%${searchKeyword}%'
출처: http://dongram.tistory.com/12 [Dongram 개발]
'program' 카테고리의 다른 글
[jQuery] 라디오(radio) 버튼, 체크박스(checkbox) 선택/해제 하는 방법 (0) | 2018.09.30 |
---|---|
javascript 정규식 이용 하여 replaceall 만들기 (0) | 2018.09.05 |
Bootstrap 테마(theme), 템플릿(template) 다운로드 사이트 3군데 (0) | 2018.08.02 |
Compare the Best Javascript Chart Libraries(big data graph 조사자료2) (0) | 2018.07.20 |
12 Best Charting Libraries for Web Developers (big data graph 조사 자료 1) (0) | 2018.07.20 |