基于mybatis中数组传递注意事项

目录

  • mybatis中传数组时应当注意的地方
    • 1.直接传递数组
    • 2.将数字放入map中传递
  • mybatis传入参数为数组、list的写法
    • 1.当传入参数为数组
    • 2.当传入参数为集合时

mybatis中传数组时应当注意的地方 parameterType为主要注意点之一,foreach循环为注意点之二
例如如下代码:
【基于mybatis中数组传递注意事项】
1.直接传递数组
基于mybatis中数组传递注意事项
文章图片

如果 parameterType使用的是 数组参数 例如上述的Long[], 则foreach循环 collection中 必须使用 array(其他代码可以忽略主要看以上两点)

2.将数字放入map中传递
基于mybatis中数组传递注意事项
文章图片

如果 parameterType使用的是 数组参数 例如上述的java.util.HashMap,则foreach循环 collection中 使用参数名称即可(其他代码可以忽略主要看以上两点)

mybatis传入参数为数组、list的写法
1.当传入参数为数组
List selectDuplicateSkus(@Param("skuNo") String[] skuNo,@Param("realtionId")Integer realtionId);

SELECTFROM V_CONTRACT_REALTIONWHERE IS_DEL=0and SKU_NO in#{item}and CONTRACT_LABLE_ID != #{realtionId,jdbcType=INTEGER}


2.当传入参数为集合时
List selectSkuDownSale(List skuNOs);

select SKU_NO as skuNofrom V_SKUwhere IS_DEL=0and SKU_NO in#{item}and IS_ON_SALE=0

collection的属性值应当和传过来的参数值相对应
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

    推荐阅读