(1) <resultMap> 태그를 이용한 VO 연결

 

<resultMap type="VO클래스명" id="별칭">

    <id property="PK변수명" column="PK컬럼명"/>

   <result property="일반변수명" column="일반컬럼명"/>

    .....

    <collection property="컬렉션변수명" column="컬럼명"

      javaType="java.util.ArrayList"   ofType="VO클래스명"   select="selectBoardImageList" >

</resultMap>

 

%% <collection> 태그 : 서브쿼리 형식으로 데이터를 가지고오고 싶을때 사용하며 자바 컬렉션 객체에 담아준다

 

(2) ![CDATA[ SQL문 ]  ] 

 

내부에 작성된 태그 문자를 일반 문자 자체로 인식하게 해준다

ex) SQL문 안에 < 같은 기호를 사용할때 태그로 인식되는 등의 문제 방지

 

 

(3) <selectKey>태그 : insert, update 시 사용된 시퀀스 값을 반환하는 태그

 

   <selectKey order="BEFORE" resultType="_int" keyProperty="boardNo">
   SELECT SEQ_BOARD_NO.NEXTVAL FROM DUAL
   </selectKey>

 

-keyProperty : selectKey구문의 결과가 셋팅될 대상 프로퍼티

-keyColumn : 리턴되는 결과셋의 컬럼명은 프로퍼티에 일치한다.

-order : BEFORE 또는 AFTER로 셋팅할 수 있다.

BEFORE( 키를 먼저 조회하고 셋팅 후 실행)

AFTER(실행을 먼저 한 뒤 키를 반환)

 

(4) 동적 SQL : 마이바티스의 핵심 기능으로 SQL 수행 중 조건 ,반복 ,특정 구문 추가 등을 동적으로 수행할 수 있음

 

<forEach> 태그 

 

<foreach collection="list" item="img" 
open="(" close=") A"  separator=" UNION ALL ">

</foreach>

 

   - collection : 반복 접근할 컬렉션 형태의 파라미터
   - item : collection에서 반복 시 마다 순차적으로 하나씩 접근한 요소
   - index : 현재 반복 인덱스 
   - open : forEach 시작 전 추가할 구문
   - close : forEach 종료 후 추가할 구문
   - separator : 반복 시 마다 SQL 사이에 추가할 구분자

 

<if> 문 또는 <choose> 태그 

 

<if test="sv != null">

   <bind name="val" value="'%'+sv+'%'" />  --반복되는 문장 정의
<choose>

  <when test="sk == 'title'">

   

  </when>

</choose>
</if>

 

 

 

 

 

+ Recent posts