ylbtech-Java-MyBatis-杂项:MyBatis  中  in 的用法
1.返回顶部
1、

foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合
foreach元素的属性主要有 item,index,collection,open,separator,close。
    item表示集合中每一个元素进行迭代时的别名
    index指 定一个名字,用于表示在迭代过程中,每次迭代到的位置
    open表示该语句以什么开始
    separator表示在每次进行迭代之间以什么符号作为分隔 符
    close表示以什么结束

在使用foreach的时候最关键的也是最容易出错的就是collection属性,该属性是必须指定的,但是在不同情况 下,该属性的值是不一样的,主要有一下3种情况:
    1. 如果传入的是单参数且参数类型是一个List的时候,collection属性值为list
    2. 如果传入的是单参数且参数类型是一个array数组的时候,collection的属性值为array
    3. 如果传入的参数是多个的时候,我们就需要把它们封装成一个Map了,当然单参数也可

以封装成map,实际上如果你在传入参数的时候,在breast里面也是会把它封装成一个Map的,map的key就是参数名,所以这个时候collection属性值就是传入的List或array对象在自己封装的map里面的key 下面分别来看看上述三种情况的示例代码:
1.单参数List的类型:

<select id="dynamicForeachTest" resultType="Blog">
select * from t_blog where id in
<foreach collection="list" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</select>

2.单参数array数组的类型:

<select id="dynamicForeach2Test" resultType="Blog">
select * from t_blog where id in
<foreach collection="array" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</select>

3.自己把参数封装成Map的类型

<select id="dynamicForeach3Test" resultType="Blog">
select * from t_blog where title like "%"#{title}"%" and id in
<foreach collection="ids" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</select>

错误示例:

使用in的时候,不能这样写 in ${skuIds}
应该使用foreach标签

2、
2.返回顶部
 
3.返回顶部
 
4.返回顶部
 
5.返回顶部
 
 
6.返回顶部
 
作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

最新文章

  1. .Net语言 APP开发平台——Smobiler学习日志:如何实现快速跳转网页
  2. C语言第7次作业
  3. css 文字与小图标对齐
  4. CSS行高&mdash;&mdash;line-height
  5. SCP命令
  6. Winform开发框架主界面设计展示
  7. PHP+socket游戏数据统计平台发包接包类库
  8. 基于ArcEngine的空间数据通用建库软件介绍
  9. [Js/Jquery]天气接口简单使用
  10. uva 11768
  11. thinkphp模板中使用自定义函数
  12. Spring下载地址
  13. 笨方法学python 33课
  14. DevExpress 12.1 换肤 超级简单的方法(2013-11-5版)
  15. 如何利用 MembershipUser 更改密码
  16. 在vue 中使用Stylus
  17. Android性能提升之强引用、软引用、弱引用、虚引用使用
  18. 乘法原理,加法原理,多重集的排列数(多个系列操作穿插的排列数) 进阶指南 洛谷p4778
  19. 遇到的web请求错误码集合与解释
  20. android get或post及HttpClient与服务器数据交互

热门文章

  1. MFC:“Debug Assertion Failed!” ——自动生成的单文档程序项目编译运行就有错误
  2. MATLAB 2018a 下载安装
  3. sql server 创建索引 超时时间已到
  4. 原型模式(Prototype)C++实现
  5. jQuery操作样式知识总结
  6. 【华科考研机试题】最长&amp;最短文本
  7. 关于出现Failed to instantiate SLF4J LoggerFactory问题原因,解决办法
  8. UML+模式设计概述
  9. DDoS攻击与防范策略
  10. 基于Linux/C++简单线程池的实现