메뉴 건너뛰기

Bigdata, Semantic IoT, Hadoop, NoSQL

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


spring-mybatis mybais #과 $의 차이점

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

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  등등의 에러가 뜨게 된다
번호 제목 글쓴이 날짜 조회 수
201 fuseki용 config-examples.ttl 예시 내용 총관리자 2017.05.17 646
200 springframework를 이용한 war를 생성하는 build.gradle파일(참고용) 총관리자 2016.08.19 650
199 AIX 7.1에 Python 2.7.11설치하기 총관리자 2016.10.06 652
198 solr 인스턴스 기동후 shard에 서버가 정상적으로 할당되지 않는 경우 해결책 총관리자 2016.04.29 654
197 "File /user/hadoop/share/lib does not exist" 오류 해결방법 총관리자 2015.06.07 655
196 서버 5대에 solr 5.5.0 설치하고 index data를 HDFS에 저장/search하도록 설치/설정하는 방법(SolrCloud) 총관리자 2016.04.08 657
195 hadoop cluster에 포함된 노드중에서 문제있는 decommission하는 방법및 절차 file 총관리자 2017.12.28 662
194 znode /hbase recursive하게 지우기 총관리자 2015.05.06 673
193 sqoop으로 mariadb에 접근해서 hive 테이블로 자동으로 생성하기 총관리자 2018.08.03 673
192 [springframework]Caused by: org.mariadb.jdbc.internal.util.dao.QueryException: Could not read resultset: unexpected end of stream, read 0 bytes from 4 오류 발생시 조치사항 총관리자 2017.01.23 681
191 source의 type을 spooldir로 하는 경우 해당 경로에 파일이 들어오면 파일단위로 전송함 총관리자 2014.05.20 687
190 lateral view 예제 총관리자 2014.09.18 691
189 sendmail전송시 421 4.3.0 collect: Cannot write ./dfv5BA2EBS010579 (bfcommit, uid=0, gid=114): No such file or directory 발생시 조치사항 총관리자 2017.06.11 694
188 mysql 5.5.34-0ubuntu0.13.04용 설치/진행 화면 총관리자 2014.09.10 697
187 [Impala 3.2버젼]compute incremental stats db명.테이블명 수행시 ERROR: AnalysisException: Incremental stats size estimate exceeds 2000.00MB. 오류 발생원인및 조치방안 gooper 2022.11.30 697
186 oozie가 말하는 start시간은..서버에서 확인되는 시간이 아닙니다. 총관리자 2014.05.14 699
185 SASL configuration failed: javax.security.auth.login.LoginException: java.lang.NullPointerException 오류 해결방법 총관리자 2015.04.02 701
184 update를 많이 하면 heap memory가 많이 소진되고 최종적으로 OOM가 발생하는데 이에 대한 설명 총관리자 2017.04.10 717
183 secureCRT에서 backspace키가 작동하지 않는 경우 해결방법 총관리자 2015.05.11 719
182 hortonworks에서 제공하는 메모리 설정값 계산기 사용법 file 총관리자 2015.06.14 719

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.

위로