250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- CleanCode
- 인터페이스
- query
- 쿼리메소드
- JsonNode
- @NoArgsConstructor
- @ComponentScan
- 트리
- 마크다운
- WebClient
- @RequiredArgsConstructor
- 내부 정렬
- code
- 스택 큐 차이
- 클린코드
- 자료구조
- 마크다운 테이블
- 배열
- 계산 검색 방식
- 연결 리스트
- 코드
- 정렬
- 쿠키
- 빅 오 표기법
- 선형 리스트
- java
- 클래스
- 클린
- mysql
- 리스트
Archives
- Today
- Total
목록Spring/MyBatis (1)
Developer Cafe
샾(#{})과 달러(${})의 차이
1. #{} 를 사용하면 SELECT name AS name FROM user_#{tableId} WHERE id = #{id} 변수에 작은 따옴표(‘)가 자동으로 붙여 쿼리가 수행되기 때문에 '#{id}'와 같은 식으로 쿼리문을 작성하지 않아도 된다. 이러한 특성으로 테이블 설계가 user_1, user_2과 같이 분리되어 구성되어 있을 때, 위와 같은 식으로는 작성할 수 없다. 위 쿼리문이 수행되면 tableId 변수 양쪽에 따옴표가 붙기 때문에 SQLSyntaxErrorException 오류가 발생한다. 2. ${} 를 사용하면 값이 넣어진 채로 쿼리문이 수행된다. 그렇기 때문에 파라미터의 값이 바뀔 때마다 항상 쿼리문 파싱을 진행해야 한다. 즉, 성능상의 단점이 존재한다. 그리고 쿼리문에 #{}을..
Spring/MyBatis
2021. 3. 5. 23:47