메뉴 건너뛰기

Bigdata, Semantic IoT, Hadoop, NoSQL

Bigdata, Hadoop ecosystem, Semantic IoT등의 프로젝트를 진행중에 습득한 내용을 정리하는 곳입니다.
필요한 분을 위해서 공개하고 있습니다. 문의사항은 gooper@gooper.com로 메일을 보내주세요.


spring-mybatis mybais #과 $의 차이점

총관리자 2015.11.10 18:48 조회 수 : 178

1. #는 쿼리가 수행될 때, 다음과 같이 된다 
 

 

SELECT * FROM USER 

WHERE 
col = ?  
 
 
parameter : [값]

 

 

?에 bind된 값이 들어가게 된다. 
 
이 쿼리컴파일 된 내용을 재사용 할 수 있고, 파라미터에 따라 대입해주므로 효율적이다.
내부적으로 preparedStatement 객체에서 ? 에 들어갈 파라미터의 값을 set 해줌으로써 사용이 된다.
 
preparedStatement는 한번 수행한 쿼리를 캐싱하는 객체
 
 
사용 용도 >>
 
#일 경우, 에 사용한다.
 
myBatis : 컬럼명 = #{값}   
iBatis : 컬럼명 = #값#
 
* 쿼리에 작은 따옴표가 붙게 된다.
 
 
2. $는 쿼리가 수행될 때, 다음과 같이 된다
 

 

SELECT * FROM USER
WHERE 
col = 

 

 

 
값이 넣어진 쿼리 자체로 수행이 된다.(상수)
즉, 문장 전체가 preparedStatement가 된다.
 
사용 용도 >>
 
$일 경우는 컬럼명이 동적으로 바뀌어야 할 때 사용한다. 또는 테이블명.
 
myBatis : ${컬럼명} = #{값}   
iBatis : $컬럼명$ = #{값}
 
* 쿼리에 작은따옴표가 붙지 않는다. 
값에 $를 사용하면 스트링의 경우 작은따옴표로 감싸지지 않기 때문에 에러 발생한다.
 
 
이렇게 사용하지 않으면 unknown column 이나 There is no readable property named  등등의 에러가 뜨게 된다
번호 제목 글쓴이 날짜 조회 수
219 Windows에서 sbt개발환경 구축 방법(링크) 총관리자 2016.06.02 54
218 "암은 평범한 병, 심호흡만 잘해도 암세포 분열 저지” 총관리자 2016.06.02 48
217 Scala버젼 변경 혹은 상황에 맞게 Spark소스 컴파일하기 총관리자 2016.05.31 67
216 centos에 sbt 0.13.5 설치 총관리자 2016.05.30 251
215 Job이 끝난 log을 볼수 있도록 설정하기 총관리자 2016.05.30 403
214 spark client프로그램 기동시 "Error initializing SparkContext"오류 발생할때 조치사항 총관리자 2016.05.27 539
213 --master yarn 옵션으로 spark client프로그램 실행할때 메모리 부족 오류발생시 조치방법 총관리자 2016.05.27 141
212 DataSetCreator.py 실행시 파일을 찾을 수 없는 오류 총관리자 2016.05.27 53
211 python 2.6.6에서 print 'A=' 형태의 사용이 python 3.5.1에서 오류(SyntaxError: Missing parentheses in call to 'print') 발생함.. 총관리자 2016.05.27 62
210 python실행시 ValueError: zero length field name in format오류 해결방법 총관리자 2016.05.27 44
209 S2RDF 테스트(벤치마크 테스트를 기준으로 python, scala소스가 만들어져서 기능은 파악되지 못함) [2] file 총관리자 2016.05.27 76
208 CentOS6에 python3.5.1 소스코드로 빌드하여 설치하기 총관리자 2016.05.27 71
207 RDF storage조합에대한 test결과(4store, Jena+HBase, Hive+HBase, CumulusRDF, Couchbase) 페이지 링크 총관리자 2016.05.26 102
206 spark-submit으로 spark application실행하는 다양한 방법 총관리자 2016.05.25 303
205 spark 온라인 책자링크 (제목 : mastering-apache-spark) 총관리자 2016.05.25 48
204 "Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient resources"오류 발생시 조치사항 총관리자 2016.05.25 1026
203 spark-env.sh에서 사용할 수있는 항목. 총관리자 2016.05.24 567
202 Spark 1.6.1 설치후 HA구성 총관리자 2016.05.24 455
201 spark-shell실행시 "A read-only user or a user in a read-only database is not permitted to disable read-only mode on a connection."오류가 발생하는 경우 해결방법 총관리자 2016.05.20 551
200 Master rejected startup because clock is out of sync 오류 해결방법 총관리자 2016.05.03 60

A personal place to organize information learned during the development of such Hadoop, Hive, Hbase, Semantic IoT, etc.
We are open to the required minutes. Please send inquiries to gooper@gooper.com.

위로