基于mybatis中數(shù)組傳遞注意事項
mybatis中傳數(shù)組時應(yīng)當(dāng)注意的地方
parameterType為主要注意點之一,foreach循環(huán)為注意點之二
例如如下代碼:
1.直接傳遞數(shù)組

如果 parameterType使用的是 數(shù)組參數(shù) 例如上述的Long[], 則foreach循環(huán) collection中 必須使用 array(其他代碼可以忽略主要看以上兩點)
2.將數(shù)字放入map中傳遞
如果 parameterType使用的是 數(shù)組參數(shù) 例如上述的java.util.HashMap,則foreach循環(huán) collection中 使用參數(shù)名稱即可(其他代碼可以忽略主要看以上兩點)
mybatis傳入?yún)?shù)為數(shù)組、list的寫法
1.當(dāng)傳入?yún)?shù)為數(shù)組
List<ContractRealtion> selectDuplicateSkus(@Param("skuNo") String[] skuNo,@Param("realtionId")Integer realtionId);
<select id="selectDuplicateSkus" resultMap="BaseResultMap" parameterType="java.util.List">
SELECT
<include refid="Base_Column_List" />
FROM V_CONTRACT_REALTION
WHERE IS_DEL=0
and SKU_NO in
<foreach collection="skuNo" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
<if test="realtionId != null ">
and CONTRACT_LABLE_ID != #{realtionId,jdbcType=INTEGER}
</if>
</select>
2.當(dāng)傳入?yún)?shù)為集合時
List<InformationSkuData> selectSkuDownSale(List<String> skuNOs);
<select id="selectSkuDownSale" resultType="com.vedeng.op.information.domain.InformationSkuData" parameterType="java.util.List">
select SKU_NO as skuNo
from V_SKU
where IS_DEL=0
and SKU_NO in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
and IS_ON_SALE=0
</select>
collection的屬性值應(yīng)當(dāng)和傳過來的參數(shù)值相對應(yīng)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java實現(xiàn)的時間戳與date對象相互轉(zhuǎn)換功能示例
這篇文章主要介紹了Java實現(xiàn)的時間戳與date對象相互轉(zhuǎn)換功能,結(jié)合具體實例形式分析了java日期與時間戳類型的表示與轉(zhuǎn)換相關(guān)操作技巧,需要的朋友可以參考下2017-06-06
在Mac下IDEA安裝并使用protobuf方式(Java)
這篇文章主要介紹了在Mac下IDEA安裝并使用protobuf方式(Java),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11

