Java-MyBatis:MyBatis 中 in 的用法
2024-09-03 04:59:27
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/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |
最新文章
- .Net语言 APP开发平台——Smobiler学习日志:如何实现快速跳转网页
- C语言第7次作业
- css 文字与小图标对齐
- CSS行高&mdash;&mdash;line-height
- SCP命令
- Winform开发框架主界面设计展示
- PHP+socket游戏数据统计平台发包接包类库
- 基于ArcEngine的空间数据通用建库软件介绍
- [Js/Jquery]天气接口简单使用
- uva 11768
- thinkphp模板中使用自定义函数
- Spring下载地址
- 笨方法学python 33课
- DevExpress 12.1 换肤 超级简单的方法(2013-11-5版)
- 如何利用 MembershipUser 更改密码
- 在vue 中使用Stylus
- Android性能提升之强引用、软引用、弱引用、虚引用使用
- 乘法原理,加法原理,多重集的排列数(多个系列操作穿插的排列数) 进阶指南 洛谷p4778
- 遇到的web请求错误码集合与解释
- android get或post及HttpClient与服务器数据交互
热门文章
- MFC:“Debug Assertion Failed!” ——自动生成的单文档程序项目编译运行就有错误
- MATLAB 2018a 下载安装
- sql server 创建索引 超时时间已到
- 原型模式(Prototype)C++实现
- jQuery操作样式知识总结
- 【华科考研机试题】最长&;最短文本
- 关于出现Failed to instantiate SLF4J LoggerFactory问题原因,解决办法
- UML+模式设计概述
- DDoS攻击与防范策略
- 基于Linux/C++简单线程池的实现