'iBatis 의 ## 과 $$ 의 차이'에 해당되는 글 1건

  1. 2010.04.30 iBatis 의 ## 과 $$ 의 차이
*** $preferredOrder$와 #value#의 차이 iBatis에 변수에 들어 가는 값이 bind로 대입되는 것 과 직접 입력 되는 것의 차이 입니다. # # 는 bind 변수를 사용하는 것과 마찬가지로 값을 대입 해주는 것이고, $ $ 는 값을 가져와서 문자 직접 입력 해주는 것입니다. 변수 입력값이 user_id = 'test' 라고 가정한 경우를 살펴봅시다. 1) ## 를 사용한 경우 select * from WORKER where WORKER_ID = #USER_ID# Executing Statement: -> select * from WORKER where WORKER_ID =? -> parameter : [test] 위와 같이 대입되어 -> select * from WORKER where WORKER_ID = 'test' 가 실행됩니다. 2) $$ 를 사용한 경우 select * from WORKER where WORKER_ID = $USER_ID$ Executing Statement: -> USER_ID 에 'test' 값이 바로 넣어져서 -> select * from WORKER where WORKER_ID ='test' 가 실행됩니다. 3) 두개를 동시에 사용 했을 때의 예제. USER_ID = 'test', USER_NAME = '테스트' 라 가정했을 경우 select * from WORKER where WORKER_ID = #USER_ID# order by $USER_NAME$ queyr 진행 순서는 다음과 같습니다. 1. select * from WORKER where WORKER_ID = #USER_ID# order by '테스트' 2. select * from WORKER where WORKER_ID = ? order by '테스트' 3. parameter : [test] 4. ? 에 파라미터 값인 'test' 가 대입됨. 5. select * from WORKER where WORKER_ID = 'test' order by '테스트' # # 는 bind 변수를 사용하는 것과 마찬가지로 값을 대입 해주는 것이고, $ $ 는 값을 가져와서 문자 직접 입력 해주는 것입니다.
Posted by [czar]
,