본문 바로가기

JAVA HTML JAVASCRIPT/소오스

MyBatis 반복문(foreach)

728x90
반응형

myBatis 와 iBatis 의 반복문은 크게 다르진 않다.

 

**

open="("      : 반복시 '('로 시작

close=")"     : 반복시 ')'로 끝남

prepend       : 'WHERE' 과 같이 iterate 문 앞에 첨가

 

 

 

 

*** myBatis

 

1

2

3

4

5

6

7

<delete id="Delete" parameterType="map">

    DELETE FROM ${TABLENAME}

    WHERE

    <foreach collection="ID" item="item" separator="or" index="index">

        ID = #{item}

    </foreach>

</delete>

Colored by Color Scripter

cs

 

collection : 전달받은 인자값 이름(변수 이)

 

item : foreach 문 안에서 사용할 매개변수 이

 

separator : foreach 문이 한번 돌고 다음번 돌때의 구분자

 

 

 

* 배열을 파라미터로 받을때

collection 에 꼭! array 로!!

 

1

2

3

4

5

6

7

8

9

10

String[] 배열이름;

 

<select id="selectList" parameterType="java.util.ArrayList" resultType="test.vo">

    SELECT * FROM TEST

    WHERE ID_SEQ IN (

        <foreach collection="array" item="item" index="index" separator=",">

            ${item}

        </foreach>

    )

</select>

Colored by Color Scripter

cs

 

 

 

 

 

 

 

 

 

 

*** iBatis

 

1

2

3

4

5

6

7

8

9

10

<insert id="Insert" parameterClass="MenuCreatVO">

    INSERT ALL

    <dynamic>

        <iterate property="functionList">

            INTO USV_MENU_AUTHOR ( AUTHOR_CODE ,MENU_NO ) 

            VALUES (#authorCode#, #functionList[]#)

        </iterate>

    </dynamic>

    SELECT * FROM dual

</insert>

Colored by Color Scripter

cs

 

property : 전달받은 인자값 이름(변수 이름)

conjunction : foreach 문이 한번 돌고 다음번 돌때의 구분자



출처: https://mingggu.tistory.com/71 [개발자 밍구]

728x90
반응형