programming/ibatis mybatis

[ibatis] in 조건으로 delete 하기

labj 2013. 10. 2. 15:19

[ibatis] in 조건으로 delete 하기


1. jsp : ,,, idx 해당하는 값을 담는다.

<input type="hidden" id="chkNum" value="" />


2. java control


// parameter 받기

String chkNum = ServletRequestUtils.getStringParameter(request, "chkNum", "0");


//삭제 옵션코드 List에 담기
String[] chkNumArray;
chkNumArray = chkNum.split(",");
List<String> delOptionCode = new ArrayList<String>(chkNumArray.length);

for(int i=0; i<chkNumArray.length; i++) {
    delOptionCode.add(chkNumArray[i]);
}


 /**** sql을 위한 데이터 담기 ****/
Map<String, Object> condition = new HashMap<String, Object>();
condition.put("delOptionCode", delOptionCode);


// svc 호출을 통해 query 실행

Integer deleteMileageSum = orderInfoService.deleteMileageSum(condition);


3. java svc

...


4. java dao

...


5. ibatis : 에서는 in 조건이 동적 쿼리로 만들어져서 실행되게 됩니다.


<!-- 주문내역 삭제 마일리지 합 가져오기  -->
<select id="deleteMileageSum" parameterClass="java.util.Map" resultClass="java.lang.Integer">
        <![CDATA[
            select
                ifnull(sum(sum),0)
            from order_info
            where status = #status#
            and idx
        ]]>
        <iterate prepend="IN" property="delOptionCode" open="(" close=")" conjunction=",">
            #delOptionCode[]#
        </iterate>
</select>



[ibatis] in 조건으로 delete 하기