一、当只有一个参数,并且这个参数是数组时

接口方法的参数不需要添加@Param注释,collection="array"

示例

接口的方法

void deleteMulti(String[] flowerids);

xml文件

<delete id="deleteMulti" >
delete from cart where flower_id in
<foreach collection="array" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</delete>

二、当有多个参数,其中包含数组时

参数需要添加@Param注释

遍历数组参数时,collection="数组参数的Param注释的value值"

示例

接口的方法

void deleteMulti(@Param(value = "names") String[] flowerids,@Param(value = "userid") int userid);

xml文件

<delete id="deleteMulti" >
delete from cart where userid = #{userid} and flower_id in
<foreach collection="names" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</delete>

MyBatis中foreach传入参数为数组的更多相关文章

  1. mybatis中foreach的用法(转)

    foreach一共有三种类型,分别为List,[](array),Map三种. foreach属性 属性 描述 item 循环体中的具体对象.支持属性的点路径访问,如item.age,item.inf ...

  2. php中foreach()函数与Array数组经典案例讲解

    //php中foreach()函数与Array数组经典案例讲解 function getVal($v) { return $v; //可以加任意检查代码,列入要求$v必须是数字,或过滤非法字符串等.} ...

  3. java中方法传入参数时:值传递还是址传递?

    JAVA中的数据类型有两大类型: ① 基本数据类型:逻辑型(boolean).文本型(char).整数型(byte.short.int.long).浮点型(float.double) ② 引用数据类型 ...

  4. Java中forEach, 用来遍历数组

    这里的for是Java中forEach, 用来遍历数组的.for(int i : d) 就是遍历int型数组d的 每一次访问数组d的时候读取的数据放入int型的i中.和for(int i=0;i< ...

  5. mybatis中foreach参数过多效率很慢的优化

    foreach 后面in 传入的参数有1万条,#和$是有效率区别的,$的效率远高于#,上篇文章做了比较. 但没达到我的理想结果. 1. 更改方式,把foreach 去掉,改成拼装方式, 参数直接拼装成 ...

  6. mybatis中foreach使用

    mybatis中的<foreach collection="list" item="item" index="index" open= ...

  7. mybatis 中 foreach collection的三种用法(转)

    文章转自 https://blog.csdn.net/qq_24084925/article/details/53790287 oreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集 ...

  8. MyBatis的parameterType传入参数类型

    在mybatis映射接口的配置中,有select,insert,update,delete等元素都提到了parameterType的用法,parameterType为输入参数,在配置的时候,配置相应的 ...

  9. MyBatis中foreach循环的用法

    一.在了解foreach之前,先了解一下mybatis传入参数及parameterType 1.我们在Dao层向对应的mapper.xml文件传递参数时,可以传递的参数有: ①.基本数据类型(如int ...

随机推荐

  1. JSONObject 和JSONArray基本使用

    1. 打包 JSONObject jsonObject = new JSONObject(); jsonObject.put("code", "200"); j ...

  2. 关于cvPyrSegmentation(src, dst, storage, &comp, level, threshold1, threshold2)函数报错的问题解答

    先挂上我写的代码: #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <highgui.h> #incl ...

  3. jsp与spring mvc后台controller间参数传递处理之总结

    在编程过程中,最容易出现问题及卡壳的地方,往往是各层之间接缝处,接缝处往往存在着各种各样的参数传递,数据转换和格式化,参数很好的传递并正确接收过来之后就是复杂逻辑之间的处理了,所以为了避免多种问题占用 ...

  4. Percona-Toolkit 之 pt-kill 低效SQL

    [root@ tools]#vi ptkill_master.confuser=rootpassword=asd.123port=3306busy-time=5printkill /u01/soft/ ...

  5. Swift 结构体struct

    //结构体是一个值类型 struct location{ //属性 var x:Double var y:Double //方法 func test() { print("结构体中的test ...

  6. mock的使用及取消,node模仿本地请求:为了解决前后端分离,用户后台没写完接口的情况下

    借鉴:https://www.jianshu.com/p/dd23a6547114 1.说到这里还有一种是配置node模拟本地请求 (1)node模拟本地请求: 补充一下 [1]首先在根目录下建一个d ...

  7. 每天一点点之css - 动画-一个圆绕着另一个圆动(绕着轨迹运动)

    最近要开发一个类似星河的效果,需要小圆绕着一定的轨迹运动,这个时候我首先想到的是使用canvas来实现,在实现过程中发现这个实现起来不是很灵活,然后想到css3有动画也可以实现,下面是效果 注:图2是 ...

  8. 关于Promise的异步依次函数调用

    在Promise中async用于定义一个异步函数(可不写),该函数返回一个Promise. 如果async函数返回的是一个同步的值,这个值将被包装成一个理解resolve的Promise, 等同于re ...

  9. 全面掌握Nginx配置+快速搭建高可用架构 一 开启status页面检测服务状态

    输入命令Nginx -V 打开conf.d/default.conf 配置模块,配置位置在server或者location 配置完成后测试语法正确 nginx -tc /etc/nginx/nginx ...

  10. 浅谈ASCII 、ISO8859-1、GB2312、GBK、Unicode、UTF-8 的区别。

    浅谈ASCII .ISO8859-1.GB2312.GBK.Unicode.UTF-8 的区别. 首先,先科普一下什么是字符编码.字符是指一种语言中使用的基本实体,比如英文中的26个英文字母,标点符号 ...