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

 更新时间:2021年09月30日 10:36:23   作者:程序员_王者or青铜  
这篇文章主要介绍了mybatis中数组传递注意事项,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

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的属性值应当和传过来的参数值相对应

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • java实现解析json复杂数据的方法详解

    java实现解析json复杂数据的方法详解

    这篇文章主要为大家详细介绍了java如何实现解析json复杂数据,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以学习一下
    2024-01-01
  • 简单了解java标识符的作用和命名规则

    简单了解java标识符的作用和命名规则

    这篇文章主要介绍了简单了解java标识符的作用和命名规则,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • Java局部变量线程安全原理分析

    Java局部变量线程安全原理分析

    这篇文章主要介绍了Java局部变量线程安全原理分析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • Spring @Bean vs @Service注解区别

    Spring @Bean vs @Service注解区别

    本篇文章主要介绍了Spring @Bean vs @Service注解区别,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • Redis监听过期的key实现流程详解

    Redis监听过期的key实现流程详解

    本文主要介绍了Redis监听key的过期时间,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • java 函数的重载和重写实例代码

    java 函数的重载和重写实例代码

    本文主要介绍Java 的重载和重写,学习java的同学都知道Java的多态有多重要,这里给大家举例说明函数的重载和重写,希望能帮助有需要的小伙伴
    2016-07-07
  • MyBatis动态Sql之if标签的用法详解

    MyBatis动态Sql之if标签的用法详解

    这篇文章主要介绍了MyBatis动态Sql之if标签的用法,本文给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-07-07
  • Java实现并发执行定时任务并手动控制开始结束

    Java实现并发执行定时任务并手动控制开始结束

    这篇文章主要介绍了Java实现并发执行定时任务并手动控制开始结束,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • Java中的泛型和泛型通配符详解

    Java中的泛型和泛型通配符详解

    这篇文章主要介绍了Java中的泛型和泛型通配符详解,泛型的作用就是在编译的时候能够检查类型安全,并且所有的强制转换都是自动和隐式的在没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,需要的朋友可以参考下
    2023-07-07
  • SpringCloud负载均衡实现定向路由详情

    SpringCloud负载均衡实现定向路由详情

    这篇文章主要介绍了SpringCloud负载均衡实现定向路由详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08

最新评论