可以将逗号分隔的列值作为列表输入参数传递给iBatis吗?

时间:2016-07-20 10:22:13

标签: sql oracle dynamic inner-join ibatis

我有一个表(员工),其列值如下所示:

SERIAL_NO EMPLOYEE_ID
~~~~~~~~~ ~~~~~~~~~
01 1234,1235,1236
02 1238,1232,1234
03 1223,1233,1254
04 1212,1212,1211

我想获取此特定值并将其传递给另一个查询的IN子句 - 在iBatis中:比如说,

  

从employee_id所在的地址中选择address_line1(从员工中选择employee_id,其中serial_no =#SERIALNO#)

我能够从内部查询中获取值,并在另一个ibatis查询中单独将其作为列表传递。我可以在ibatis的单个查询中实现这一点吗?

我是如何在ibatis中尝试的 - 我得到了内部查询的输出并将其作为列表并传递到第二个ibatis查询中:

        <resultMap id="ADDRESS_RESULT_MAP" class="java.util.HashMap">
    <result property="ADDRESS_LINE" nullValue="" column="ADDRESS_LINE1" javaType="java.lang.String" jdbcType="VARCHAR"/>
        </resultMap>

            <select id="ADDRESS_SELECT_DETAILS"  resultMap="ADDRESS_RESULT_MAP">
                select address_line1 from address where employee_id in 
    <iterate property="EMPLOYEE_ID" open="(" close=")" conjunction=",">
        #EMPLOYEE_ID[]#
    </iterate>
</select>

0 个答案:

没有答案