使用下面的代码,我们可以在oracle的单个db调用中插入值集合。但问题是我们无法检索插入值的id。那么请任何人在我们插入时如何获得id值的正确解决方案?
<insert id="insertAddress"
parameterType="com.XXX.XXX.XXX.model.RemittMerchantAddress">
insert into EC_REMITT_MERCHANT_ADDRESS
(MERCHANT_ADDRESS_ID,CLIENT_CODE,CLIENT_LOB_CODE,REMITT_STREET_ADDRESS,REMITT_CITY,REMITT_STATE,REMITT_ZIP_CODE,CREATED_ON,CREATED_BY)
(
select
custom_seq.NEXTVAL,B.* from(
<foreach collection="list" item="element" index="index"
separator="union all">select
#{element.clientCode,jdbcType=VARCHAR},#{element.clientLobCode,jdbcType=VARCHAR},#{element.remittStreetAddress,jdbcType=VARCHAR},#{element.remittCity,jdbcType=VARCHAR},#{element.remittState,jdbcType=VARCHAR},#{element.remittZipCode,jdbcType=NUMERIC},#{element.createdOn,jdbcType=DATE},#{element.createdBy,jdbcType=VARCHAR}
from dual
</foreach>
)B)
</insert>