基于mybatis中數(shù)組傳遞注意事項
mybatis中傳數(shù)組時應當注意的地方
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傳入參數(shù)為數(shù)組、list的寫法
1.當傳入參數(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.當傳入參數(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的屬性值應當和傳過來的參數(shù)值相對應
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
java實現(xiàn)解析json復雜數(shù)據的方法詳解
這篇文章主要為大家詳細介紹了java如何實現(xiàn)解析json復雜數(shù)據,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以學習一下2024-01-01Spring @Bean vs @Service注解區(qū)別
本篇文章主要介紹了Spring @Bean vs @Service注解區(qū)別,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-12-12Redis監(jiān)聽過期的key實現(xiàn)流程詳解
本文主要介紹了Redis監(jiān)聽key的過期時間,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-02-02Java實現(xiàn)并發(fā)執(zhí)行定時任務并手動控制開始結束
這篇文章主要介紹了Java實現(xiàn)并發(fā)執(zhí)行定時任務并手動控制開始結束,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05