728x90
반응형
paremter 명시 안해줘도 되는게 신기함
Integer[] intArr = new Integer[10];
for (int i = 0; i < 10; i++) {
intArr[i] = i;
}
<delete id="deleteTest_hasArray" >
DELETE
FROM TABLE_NAME
<iterate prepend="WHERE seq IN" open="(" close=")" conjunction="," >
#[]#
</iterate>
</delete>
//
뭐 그냥 이렇게 썼음
BeanClass
int seq;
String str;
setter/getter...
for (int i = 0; i < 10; i++) {
beanClass = new BeanClass();
beanClass.setSeq(i);
beanClass.setStr("test");
list.add(beanClass);
}
<insert id="insertTest_hasCollectionList" parameterClass="java.util.List">
INSERT INTO TABLE_NAME
(seq, str)
VALUES
<iterate conjunction=" , " >
(#[].seq , #[].str#)
</iterate>
<selectKey resultClass="int">
SELECT LAST_INSERT_ID();
</selectKey>
</insert>
//
맵으로 넘기기 맵안에는 리스트도 있음
스트링도 있음
이렇게 하니 됨ㅋ
List<BeanClass> list = new ArrayList<BeanClass>();
Map<String, Object> map = new HashMap<String, Object>();
String superId = 10;
for (int i = 0; i < 10; i++) {
beanClass = new BeanClass();
beanClass.setSeq(i);
list.add(beanClass);
}
map.put("testSuperId", superId);
map.put("testList", list);
<delete id="deleteTest_hasCollectionMap" parameterClass="java.util.Map">
DELETE
FROM TABLE_NAME
WHERE
parentId = #testSuperId#
<iterate property="testList" prepend="AND strId IN" open="(" close=")" conjunction="," >
#testList[].getSeq#
</iterate>
</delete>
모든 코드는 내가 돌려보고 된 후 올린건데 고대로 복사 붙여넣기 하면 테이블명 컬럼명이 부끄럽게 노출되니
그 부분만 수정후에 올림
728x90
반응형
'SQL > IBATIS' 카테고리의 다른 글
ibatis Transaction (0) | 2014.02.12 |
---|---|
ibatis mysql rownum (0) | 2014.02.12 |
ibatis multiple update (0) | 2014.02.12 |
ibatis $ # 차이 (0) | 2014.02.12 |
iBatis 예제 - 3 (iBatis 프로시저(procedure)를 이용한 데이터 insert) (0) | 2014.02.12 |
iBatis 예제 - 2 (iBatis iterate를 이용한 동적 쿼리) (0) | 2014.02.12 |
iBatis 예제 - 1 (iBatis 기본설정 및 데이터 출력) (0) | 2014.02.12 |
iBatis기본 설정 및 사용방법(회원가입 및 수정 탈퇴 예제) (0) | 2014.02.12 |