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

如果 parameterType使用的是 數(shù)組參數(shù) 例如上述的Long[], 則foreach循環(huán) collection中 必須使用 array(其他代碼可以忽略主要看以上兩點(diǎn))
2.將數(shù)字放入map中傳遞
如果 parameterType使用的是 數(shù)組參數(shù) 例如上述的java.util.HashMap,則foreach循環(huán) collection中 使用參數(shù)名稱即可(其他代碼可以忽略主要看以上兩點(diǎn))
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ù)為集合時(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ù)值相對(duì)應(yīng)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java下http下載文件客戶端和上傳文件客戶端實(shí)例代碼
這篇文章主要介紹了Java下http下載文件客戶端和上傳文件客戶端實(shí)例代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-12-12
Java實(shí)現(xiàn)的時(shí)間戳與date對(duì)象相互轉(zhuǎn)換功能示例
這篇文章主要介紹了Java實(shí)現(xiàn)的時(shí)間戳與date對(duì)象相互轉(zhuǎn)換功能,結(jié)合具體實(shí)例形式分析了java日期與時(shí)間戳類型的表示與轉(zhuǎn)換相關(guān)操作技巧,需要的朋友可以參考下2017-06-06
在Mac下IDEA安裝并使用protobuf方式(Java)
這篇文章主要介紹了在Mac下IDEA安裝并使用protobuf方式(Java),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11

