mybatis批量删除的foreach标签

发布时间:2021-11-28 12:38:09

foreach标签的含义

下面我们来看一看foreach标签的参数含义。



delete from datafile where id in

#{item}



collection


分为以下三种情况:


    如果传入的是单参数且参数类型是一个List的时候,collection属性值为list如果传入的是单参数且参数类型是一个array数组的时候,collection的属性值为array如果传入的参数是多个的时候,就会被封装成一个Map了,参数名就是key值,这时候collection的属性值就是Map中对应的key值。 3. 如果传入的参数是多个的时候,就会被封装成一个Map了,参数名就是key值,这时候collection的属性值就是Map中对应的key值。

我们来看一看其他参数:


item
item 的值是本次迭代获取的元素,就是将ids数组的元素每次取一个赋值给item,下面#{item}也是item变量中取值。


index
是当前迭代的次数


open、close、separator用来拼接sql语句。


遇到的错误

我们先来看一下我之前之前遇到的一个小错误。报出了如下的错误:
org.apache.ibatis.binding.BindingException: Parameter ‘array’ not found. Available parameters are [ids, param1]


当时的代码如下:
mapper接口的代码如下:


int delDataFilesByIds(@Param("ids") String[] ids);

mapper.xml的代码:



delete from datafile where id in

#{item}



当时怎么都想不明白的,总觉得没有错。去百度,找到了下面的写法。


另一种写法

我们先来看一下正确的代码,mapper接口的方法如下:


int delDataFilesByIds(@Param("ids") String[] ids);

mapper的xml文件如下:




delete from datafile where id in

#{item}



结果如下:

我们可以看到批量删除确实是成功了。


结合上面的collection的解释,我猜想了一下,应该是加了@Param注解导致了mybatis认为它就是多个参数的情况,所以只能按照map中的key取值,就把array当成key了,而此时map中只有ids一个key,所以当然报错了。


于是我就改成了下面情况:
去掉了@Param注解再用array
mapper文件:


int delDataFilesByIds(String[] ids);

xml文件:



delete from datafile where id in

#{item}



结果成功了:

只是猜想,日后等知识积累到了这个知识,再回来订正和完善。

相关文档

  • 爱护环境手抄报
  • 如何把概念创业点子变成财富
  • 中班上学期幼儿园教学计划
  • 带内外两字的成语及解释
  • 最大的步子打一成语
  • 结婚20年没有领结婚证怎么离婚
  • 六年级教学计划合集多篇
  • 关于幼儿园中班植树节教案
  • python爬虫抓取Boss直聘信息
  • 中国是什么国家
  • 以尊严为话题的满分作文
  • 算法的时间复杂度和空间复杂度-总结
  • 元旦出境游好去处推荐指南
  • 企业人力资源柔性管理现状及措施
  • 消防员叔叔本领大教学设计
  • 诗词比赛主持词一个人
  • 羽毛球最有力的扣杀技巧教学
  • BF算法(暴力匹配) 纯C语言版
  • 商品进驻小红书需要什么条件
  • 怎么设置腾达路由器
  • 环保小知识思维导图
  • 魔法爸爸读后感
  • 牛奶吐司
  • 跟王子学说承诺:威廉王子的真爱之语
  • 如何冷冻肉?
  • 高考化学二轮反应知识点复习
  • 深度学习整体名词概述
  • GD32E230开发笔记-GD32选型
  • 一年级下数学期中试题-小学数学一年级下学期期中试题
  • 风景画背景图片大全
  • 猜你喜欢

  • 小学一年级数学上册寒假作业81
  • 司法行政工作表态发言稿范文
  • 企业员工绩效考核项目商业策划书11月
  • 【小初高学*】通用版2017届高考数学考前3个月知识方法专题训练第一部分知识方法篇专题10数学思想第
  • 中小学生铁路安全常识试题及答案
  • 中国工商银行股份有限公司滁州银花支行企业信用报告-天眼查
  • 鸡宝宝诗经楚辞取名的方法
  • 人生感悟英语格言集锦
  • 四标一体化管理体系的建立与实施 147页PPT文档
  • [配套k12学习]2019年人教新目标八年级英语上册 Unit 3 I’m more outgoing than my sister Section B(3a-S
  • [初中化学]江苏省丹阳市2012年5月初三化学适应性测试卷 人教版
  • 08高考语文现代文大阅读题汇编
  • 关于儿童公园公共座椅使用情况的调查问卷
  • 如何开展海尔移动互联网建设
  • 精选中学校长个人工作总结范文
  • 2019中考英语复*阅读理解训练(65)
  • 2018-2019学年北师大版八年级数学下册教用课件:第六章检测(共53张PPT)
  • 2018年贵州公务员考试行测真题与答案解析
  • 2020版高考生物总复*第2讲细胞中的元素及无机化合物PPT课件新人教版
  • 刑法学总论期末考试答案
  • 八年级历史期中考试试题21
  • 面试英语:流利面试英语相关介绍
  • 培养兴趣是学生智力发展的前提
  • g2810怎么清洗喷头
  • 【游戏开发】游戏服务器设计思考
  • 有关桂花树的作文
  • 传统节日-不能被冷落的文化记忆
  • (新人教版)中考物理复*九年级物理18.3 测量小灯泡的电功率 同步练*5(含答案)-非常好
  • 加强惩防体系建设的研究与思考
  • 医学检验职称生化检验知识:甲胎蛋白检测步骤
  • 汕头市嘉盛德贸易有限公司企业信用报告-天眼查
  • 马戏团
  • 江苏招警考试定义判断例题讲解
  • 高考复习辨析并修改病句 PPT精品课件195(5份)3
  • 营养粉项目可行性研究报告(发改立项备案+2013年最新案例范文)详细编制方案
  • 合肥朗程商贸有限公司(企业信用报告)- 天眼查
  • 人教版初二年级上册五单元作文:莲文化的魅力
  • 说百姓消费 做大众财经——兼议地市报创新财经新闻报道路径
  • 动物观察日记小学生10篇
  • 九年级物理下册 20.1 能源和能源危机课件 粤教沪版
  • 江苏省无锡市长安中学七年级数学下册教学课件:9.2单
  • 2017新湘教版八年级地理下册(全册)主要知识点
  • 电脑版