반응형
- iBatis 변수 사용 방법 : #변수# or $변수$
- myBatis 변수 사용 방법 : #{변수} or ${변수}
변수 사용 시에 #과 $를 사용할 수 있습니다.
그럼 이 두 가지의 차이점을 알아보겠습니다.
1. # 사용
// String param = "orange";
SELECT *
FROM FRUIT_TABLE
WHERE FRUIT_NAME = #param#;
▼ (쿼리 수행 시)
SELECT *
FROM FRUIT_TABLE
WHERE FRUIT_NAME = ?;
위 처럼 쿼리가 수행되는 경우 ?에 bind 값이 들어가게 된다.
소프트 파싱으로 볼 수 있으며, 쿼리 재사용에 효율적이다.
즉, 자주 바뀌는 값이나 사용자에게 입력받는 경우 적합하다.
2. $ 사용
// String param = "orange";
SELECT *
FROM FRUIT_TABLE
WHERE FRUIT_NAME = '$param$';
▼ (쿼리 수행 시)
SELECT *
FROM FRUIT_TABLE
WHERE FRUIT_NAME = 'orange';
위 처럼 쿼리가 수행되는 경우 문자열로 치환되어 수행된다.
하드 파싱으로 볼 수 있다.
컬럼명이 동적으로 변하는 경우가 적합하다.
반응형
'DB > Oracle' 카테고리의 다른 글
[Oracle] ORDER BY 및 ROWNUM 사용 시 유의점 (0) | 2021.04.20 |
---|---|
[SQL] prepareStatement 주의점 (0) | 2021.04.14 |
[Oracle] ORA-01861: 리터럴이 형식 문자열과 일치하지 않음 (0) | 2021.03.03 |
[Oracle] case when ~ then ~ 사용 방법 (0) | 2021.02.14 |
[Oracle] 계정 생성 및 권한 부여 방법 (2) | 2021.02.13 |