본문 바로가기
JAVA&Eclipse&Nexa

mybatis foreach

by 구엽하늘 2020. 5. 12.
728x90

    /* 배열에 값을 담았다가, ','로 join하여 param으로 서버에 넘김 */
    var arrItcn = [];

    for (var idx=0; idx<this.vo_resultData.getRowCount(); idx++)
    {
        if (this.vo_resultData.getColumn(idx, "chk") != "1")
            continue;

        arrItcn.push(this.vo_resultData.getColumn(idx, "itcnSqno"));
    }

    var itcnSqno = arrItcn.join(',');

    this.vo_inputData.setColumn("itcnSqno", itcnSqno);

    /* 서버에서 ','로 join된 String을 배열로 변환 */
        ArrayList<String> itcnSqnoArr = new ArrayList<String>();
        String[] items = param.getString("itcnSqno").split(",");
        for(String item : items)
        {
            String sItem = item.trim();

            if ("".equals(sItem))
                continue;

            itcnSqnoArr.add(sItem);
        }

        param.set("itcnSqnoArr", itcnSqnoArr);

    /* xml mybatis에서 foreach item으로 적용 */
    <if test='@kr.meps.framework.util.StringHelper@isNotEmpty(itcnSqnoArr)'> 
       AND RSLIP.ITCN_SQNO IN (<foreach collection="itcnSqnoArr" item="item" separator=",">#{item}</foreach>) 
    </if>

/* 결과 */
WHERE  RSLIP.ITCN_SQNO IN ('H06WEF005S0000000001','H06WEF005S0000000002','H06WEF005S0000000003','H06WEF005S0000000004') 

'JAVA&Eclipse&Nexa' 카테고리의 다른 글

이클립스 주석 설정/해제  (0) 2020.05.26
엑셀다운/업로드 (변형) 패턴  (0) 2020.05.20
MData index 처리  (0) 2020.05.14
이클립스 범위설정(Toggle Block Selection)  (0) 2020.05.06
이클립스 UTF-8(BOM)문제  (0) 2020.04.29