Notice
Recent Posts
Recent Comments
Link
Tags
- 트랜잭션#@Transacional#트랜잭션 bean#트랜잭션예제
- 스프링트랜잭션
- framework #프레임워크 #mybatis
- oracle#DB#데이터베이스 이론
- json #ajax #정보조회
- maven#maven환경설정#메이븐환경설정
- 동적쿼리if #checkbox검색#checkbox회원검색
- bean등록Annotation#annotaion#bean등록#DIAnnotaion
- Spring MVC#Spring 구조 #Spring MVC Model
- spring#형상관리#정규표현식#target
- project Package생성
- spring#maven#스프링#메이븐
- 셀레니움 #selenium#셀레니움설치
- java면접#IT기술면접
- 동적쿼리 #mybatis동적쿼리
- mybatis-config.xml
- Today
- Total
HongCat 개발 스토리
2. Mybatis 동적쿼리 본문
2019.12.04
1. 동적쿼리(Dynamic Query)란?
- 일반적으로 검색 기능이나 다중 입력 처리 등을 수행해야 할 경우 SQL을 실행하는 DAO를 여러 번 호출하여 실행하였지만 마이바티스에서는 이를 동적으로 제어할 수 있는 구문을 제공하여 좀 더 쉽게 쿼리를 구현할 수 있도록 기능을 제공함.
2. 동적 쿼리동적 쿼리 지원 구문
1. if
2. choose(when,otherwise)
3. trim
4. foreach
. if 구문
- 동적 쿼리를 구현할 때 가장 기본적으로 사용되는 구문
- 특정 조건을 만족할 경우 안의 구문을 쿼리에 포함시킴
- 필요로 하는 조건이 1개 이상 일시 if 구문을 여러 개 사용할 수 있음
ex) <if test="조건식">
.....
</if>
. choose구문
- 자바의 if-else 혹은 switch, 오라클의 choose구문과 유사하며 주어진 구문 중 한가지만 수행하고자 할 때 사용
- when 은 ,if문과 흡사하며, otherwise는 else또는 default와 흡사함
3. trim구분
- 쿼리 구분의 특정 부분을 없앨 때 사용 됨
- 태그 안의 내용이 완성될 때 처음 시작할 단어와 시작 시 제거해야 할 단어를 명시함
ex) <trim prefix="where" prefixOverrides="AND | OR">
...
</trim>
foreach 구분 .
- 동적 쿼리를 구현할 때 collection에 대한 반복 처리를 제공 함.
속성 | 설명 |
item | 반복될때 접근 가능한 객체 변수 |
index | 반복되는 횟수를 가리키는 변수 |
collection |
반복에 쓰일 collection (array, list,map....) |
open | 첫 반복 시 여는 문자열 |
separator | 반복되는 객체를 나열할 때 구분하기 위한 구분자 |
close | 마지막 반복 시 포함할 닫는 문자열 |
'FrameWork' 카테고리의 다른 글
4. Bean 등록 Annotaion (0) | 2019.12.06 |
---|---|
Maven 사용을 위한 이클립스 환경설정 (0) | 2019.12.05 |
3.Spring과 Maven (0) | 2019.12.05 |
동적쿼리 if문을 이용한 회원정보 조회 (3) | 2019.12.04 |
1. 프레임워크란? (0) | 2019.12.02 |
Comments