概述
mybatis中传数组时应当注意的地方
parameterType为主要注意点之一,foreach循环为注意点之二
例如如下代码:
1.直接传递数组
如果 parameterType使用的是 数组参数 例如上述的Long[], 则foreach循环 collection中 必须使用 array(其他代码可以忽略主要看以上两点)
2.将数字放入map中传递
如果 parameterType使用的是 数组参数 例如上述的java.util.HashMap,则foreach循环 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的属性值应当和传过来的参数值相对应
以上为个人经验,希望能给大家一个参考,也希望大家多多支持靠谱客。
最后
以上就是怡然电话为你收集整理的基于mybatis中数组传递注意事项的全部内容,希望文章能够帮你解决基于mybatis中数组传递注意事项所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复