Bigdata, Hadoop ecosystem, Semantic IoT등의 프로젝트를 진행중에 습득한 내용을 정리하는 곳입니다.
필요한 분을 위해서 공개하고 있습니다.
문의사항은 gooper@gooper.com로 메일을
보내주세요.
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 등등의 에러가 뜨게 된다
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
13 | embedded-cassandra의 data 저장위치 | 총관리자 | 2019.06.09 | 336 |
12 | lombok설치방법 | 총관리자 | 2020.06.20 | 49 |
11 | python2.7.4에서 Oracle DB(11.2)를 사용하기 위한 설정(RPM을 이용하여 RHEL 7.4에 설치) | 총관리자 | 2021.11.26 | 336 |
10 | windows10 pro에서 microservice pattern책의 예제를 kubernetes에서 기동하는 방법 | 총관리자 | 2022.01.30 | 18 |
9 | eclipse editor 설정방법 | 총관리자 | 2022.02.01 | 10 |
8 | vuestorefrontui.io를 이용한 front end project 생성하기 | 총관리자 | 2022.02.06 | 23 |
7 | [vue storefrontui]외부 API통합하기 참고 문서 | 총관리자 | 2022.02.09 | 7 |
6 | restaurant-controller,에서 등록 예시 | 총관리자 | 2022.04.30 | 33 |
5 | 주문 생성 데이터 예시 | 총관리자 | 2022.04.30 | 11 |
4 | 주문히스토리 조회 | 총관리자 | 2022.04.30 | 11 |
3 | [ftgo_application]Unable to infer base url오류 발생시 조치방법 | gooper | 2023.02.20 | 1340 |
2 | ./gradlew :composeDown 및 ./gradlew :composeUp 를 성공했을때의 메세지 | gooper | 2023.02.20 | 6 |
1 | 호출 url현황 | gooper | 2023.02.21 | 6 |