基于mybatis中數組傳遞注意事項
更新時間:2021年09月30日 10:36:23 作者:程序員_王者or青銅
這篇文章主要介紹了mybatis中數組傳遞注意事項,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
mybatis中傳數組時應當注意的地方
parameterType為主要注意點之一,foreach循環(huán)為注意點之二
例如如下代碼:
1.直接傳遞數組

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

