Mybatis中使用foreach_关于mybatis中foreach的用法-程序员宅基地

技术标签: java  mybatis  开发语言  

 Mybatis中使用foreach是在对传入的数组或List或别的更复杂的不定长结构遍历的解决方法,

我们平常也会经常用到这个写法,所以为了打一个备忘录也为了分享,就查询资料总结了一下这个foreach的使用方法,需要注意的点和我碰到的问题,作为一个新手,经验不是很丰富,如果有不同意见的地方,请留言讨论,如果我看到肯定会回复的。

一,foreach使用格式:

  •  collection:指定输入对象中的集合属性
  •  item:每次遍历生成的对象
  •  open:开始遍历时的拼接字符串
  •  close:结束时拼接的字符串
  •  separator:遍历对象之间需要拼接的字符串

二、 常见错误:

1、foreach拼接字符串,开头和结尾用单引号,否则报错

2、中括号使用转义符,否则查询结果不正确

3、${item}不能用#,否则报错

4、使用replace函数去空格,否则查询不到结果(mybatis自动给我加上了空格)

三、心得:

如果只是正常的 "(" 或 ")" 并没有任何问题,

在使用mybatis的foreach标签时在开头(open) 和结束(end)时,如果是单引号,则在拼接时不能使用#{item},只能使用${item}拼接。

四、参考:

MyBatis中正则使用foreach拼接字符串 / 张生荣

五、mybatis中使用collection

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/MK2832070704/article/details/127052321

智能推荐

在vector中,怎样删除某个指定值的元素_vector删除指定值-程序员宅基地

文章浏览阅读1.1w次。【在vector中,怎样删除某个指定值的元素】Vectors provide no operation to remove elements directly that have a certain value. You must use an algorithm to do this.一.删除所有满足条件的元素For example, the following statemen_vector删除指定值

自动化测试工具Parasoft vs VectorCAST/C++谁更全?一起来看看_vectorcast和parasoft 对比-程序员宅基地

文章浏览阅读1.2k次。你知道测试金字塔吗?为了用开发实践来扩大测试规模,如何以正确的数量设计合适类型的自动化测试?测试金字塔是一个很好的指南!Parasoft测试金字塔 虽然测试自动化金字塔为高效的测试自动化策略提供了一个蓝图,但你不能把测试质量融入到应用程序中。金字塔需要建立在坚实的基础上,进行深度的代码分析,专注于识别和预防可靠性和安全性问题。Parasoft测试金字塔,如下图所示,展示了Parasoft如何帮助每个级别的测试解决方案。本文是自动化测试工具Parasoft功能对比之C++测试篇之一,将介绍_vectorcast和parasoft 对比

系统清理维护与安全防护软件_404软件下载窗口-程序员宅基地

文章浏览阅读135次。软件介绍:IObit Advanced SystemCare,系统清理维护与安全防护软件,大幅提升整体系统性能和安全!一键AI智能模式,全面扫描优化修复系统,拥有性能加速模式、系统优化、网络加速、启动项优化、软件更新、实时监视清理、隐私安全保护等功能,可以防病毒及间谍软件,浏览器跟踪保护隐私,保护电脑免受病毒攻击。更新日志:iobit.com/en/advancedsystemcarepro.php2021.3.19 v14.3.0.239Advanced SystemCare _404软件下载窗口

Lua中table的ipairs和pairs以及function的:和.区别_lua table ipairs-程序员宅基地

文章浏览阅读359次。转自:csdn火木达人Lua中table遍历ipairs和pairs的区别pairs()函数基本和ipairs()函数用法相同, 区别在于pairs()可以遍历整个table, 即包括数组及非数组部分.ipairs()函数用于遍历table中的数组部分.[plain] view plain copylocal tableA = {_lua table ipairs

彩虹易支付 9.27 最新版加订单查询 sy 更新版_彩虹易支付如何更新-程序员宅基地

文章浏览阅读505次。彩虹易支付 9.27 最新版加订单查询 sy 更新版_彩虹易支付如何更新

iOS. iphone/iPad中的尺寸、安全区,导航高度、机型判断_750脳1206-程序员宅基地

文章浏览阅读1.5w次。参考:http://www.25xt.com/appsizeiphone:===========http://www.tuyiyi.com/cc/*************APP图标:20px,29px,40px,60px/(@2x,@3x)tablviewcell的默认高度------44p'x;statuebar:20--------navigatio..._750脳1206

随便推点

LayUi会议OA之我的会议_我的会议列表直播列表 ui-程序员宅基地

文章浏览阅读337次。目录一、我的会议SQL语句编写二、我的会议后端三、我的会议前端 5、运行效果: 2、我的会议Dao3、使用junit测试我的会议方法 2、这里的会议排座由文字转换为图片需要用到layui的自定义模板2.1先进入官方文档找到数据表格 3、由于排座图片会报路径问题,我们需要将项目名删掉双击点开 把项目名去掉......_我的会议列表直播列表 ui

python弹窗点击是否_Python:Pyppeteer点击弹出窗口-程序员宅基地

文章浏览阅读731次。如果有人会发现这个有用,这是我基于接受的答案的Python实现:import asyncioimport timefrom pyppeteer import launchfrom pyppeteer.errors import TimeoutErrorfrom urllib.parse import urlparseURLS = ['https://www.trustarc.com/']start..._pyppeteer是否点击了

什么是MVC和Web Api,以及他们两者的区别!_mvc和api的区别-程序员宅基地

文章浏览阅读3k次,点赞2次,收藏7次。一、什么是MVCMVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。在MVC设计模式中: Model是指要处理的业务逻辑和数据操作,它接收视图请求的数据并返回最终的处理_mvc和api的区别

大众点评数据:2023年9月全国全品类大众点评数据,涉及468个品类,包括诸如美食、购物、酒店、商场等等数据。数据用途:适用于行业分析、店铺选址、高校科研等等。数据字段:包括店铺详情、评论推荐、优-程序员宅基地

文章浏览阅读117次。购买流程:购买之前说明所需品类、区域,我们将按需报价。标价不是售价带需求来私,保证相对价格最低,字段相对最全。大众点评数据:2023年9月全国全品类大众点评数据,涉及468个品类,包括诸如美食、购物、酒店、商场等等数据。数据字段:包括店铺详情、评论推荐、优惠活动、位置信息等四大板块字段,内涵明细字段。数据用途:适用于行业分析、店铺选址、高校科研等等。

SpringBoot2 整合 Drools规则引擎,实现高效的业务规则_drools使用spring bean-程序员宅基地

文章浏览阅读2.6k次,点赞3次,收藏15次。Drools是一个基于java的规则引擎,开源的,可以将复杂多变的规则从硬编码中解放出来,以规则脚本的形式存放在文件中,使得规则的变更不需要修正代码重启机器就可以立即在线上环境生效。具有易于访问企业策略、易于调整以及易于管理的特点,作为开源业务规则引擎,符合业内标准,速度快、效率高。..._drools使用spring bean

element-UI 踩坑_element 分页pagercount小于5报错-程序员宅基地

文章浏览阅读383次。element-ui 在el-row el-col 上@click失效问题解决在el-row、el-col上面添加点击事件@click无效,用原生@click.native代替@click即可。_element 分页pagercount小于5报错

推荐文章

热门文章

相关标签