mybatis_07动态SQL_foreach循环
废话不多说,直接上代码!
<select id="findUserByforeach" parameterType="userQueryVO" resultMap="userByresultmap">
select * from user
<where>
<!--
for(item:items){} foreach:表示一个foreach循环
collection:集合参数的名称,如果是直接传入集合参数,则该处只能写[list],相当于上面的items
item:相当于上面的item,元素名称id,每次遍历出来的id
open:开始遍历时拼接的串,
close:结束遍历时拼接的串
separator:遍历出每个对象需要拼接的字符
-->
<if test="ids!=null and ids.size()>0">
<foreach collection="ids" item="id" open="and id in(" close=")" separator=",">
${id}
</foreach>
</if>
</where>
</select>
包装类(供参考) userQueryVO:
package com.ahd.vo; import com.ahd.model.User;
import org.apache.logging.log4j.core.config.Order; import java.util.List; public class UserQueryVO {
private User user;
private Order order;
private List<Integer> ids; public List<Integer> getIds() {
return ids;
} public void setIds(List<Integer> ids) {
this.ids = ids;
} public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public Order getOrder() {
return order;
}
public void setOrder(Order order) {
this.order = order;
} }
userQueryVO
传入参数是数组的情况
<!--java.util.list 别名list-->
<select id="findUserByforeach2" parameterType="list" resultMap="userByresultmap">
select * from user
<where>
<!--
for(item:items){} foreach:表示一个foreach循环
collection:集合参数的名称,如果是直接传入集合参数,则该处只能写[list],相当于上面的items
item:相当于上面的item,元素名称id,每次遍历出来的id
open:开始遍历时拼接的串,
close:结束遍历时拼接的串
separator:遍历出每个对象需要拼接的字符 -->
<if test="list!=null and list.size()>0">
<foreach collection="list" item="id" open="and id in(" close=")" separator=",">
${id}
</foreach>
</if>
</where>
</select>
mybatis_07动态SQL_foreach循环的更多相关文章
- 18Mybatis_动态sql_foreach
foreach: 向sql传递数组或List,mybatis使用foreach解析 应用场景: 在用户查询列表和查询总数的statement中增加多个id输入查询. sql语句如下: 两种方法: SE ...
- element-UI动态的循环生成Popover弹出框的方法
父组件:<div class="itemLi" :class="{gray: (salse.flashsaleStatus==3 || salse.flashsal ...
- ABAP 表格控制(Table Control)和步循环
表格控制(Table Control)和步循环 1.两个标准Demo: SAPMTZ60,SAPMTZ61 2.简介 3.建立Table Control程序的基本流程 4.使用步循环 5.表格 ...
- DevExpress 中根据数据库字典动态生成卡式菜单 z
第三方的Devexpress套件因为要使用权限机制控制不同用户进入系统显示菜单所以要配合字典数据动态生成.在WEB中这种问题灰常的轻松在winform里就稍微有点不同为了用DEV实现卡式菜单有组的概念 ...
- Devexpress Ribbon 动态生成菜单
/// <summary> /// 动态加载菜单 /// </summary> private void GetMenuBind() { //根据登录用户角色菜单动态创建 // ...
- Mybatis动态SQL简单了解 Mybatis简介(四)
动态SQL概况 MyBatis 的强大特性之一便是它的动态 SQL 在Java开发中经常遇到条件判断,比如: if(x>0){ //执行一些逻辑........ } Mybatis应用中,S ...
- SpringBoot+Mybatis 实现动态数据源切换方案
背景 最近让我做一个大数据的系统,分析了一下,麻烦的地方就是多数据源切换抽取数据.考虑到可以跨服务器跨数据库抽数,再整理数据,就配置了这个动态数据源的解决方案.在此分享给大家. 实现方案 数据库配置文 ...
- Vector(动态数组)怎么用咧↓↓↓
定义方式:vector<int> a; //二维vector<int>a[100] 在末尾压入容器:a.push_back(x);//二维 a[i].push_back(x) ...
- SpringBoot集成Mybatis动态多数据源后,MybatisPlus的IPage失效的问题解决方案
背景 之前做数据抽取的时候,搭了一个mybatis动态数据源切换的架子.方便他们写抽取的代码.今天同事问我,架子里面的mybatisplus的IPage失效了是什么问题.想了一下,应该是写动态数据源的 ...
随机推荐
- git安装以及初始化
安装文档参见:https://www.cnblogs.com/ximiaomiao/p/7140456.html 注意:安装成功后,用cmd进行基本信息设置时,当出现“git不是内部或外部命令,也不是 ...
- scrapy爬虫之模拟ajax post请求获取数据
实质:分析真实请求地址,根据规则构造新地址从而获得数据. 分析发现数据是通过异步ajax方式→post 获得的 于是通过分析response ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 发现每次翻页 网 ...
- vs编译器堆栈保护(GS选项)
参考: 安全编码实践一:GS编译选项和缓存溢出 堆栈溢出第三话--GS机制
- 架构(一)JDK安装
一 遇到的问题 问题1:安装jdk的时候,jdk解压失败? 我是通过wget http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b84 ...
- 在使用可变数组过程中遇到*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[__NSCFDictionary setObject:forKey:]: mutating method sent to immutable object'问题
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[__NSCFD ...
- asp.net中的Filter类型其实是被当作单例的
Filter对请求进行过滤.例如,在进行身份验证的基础上增加一些权限判断,对于身份验证通过的用户,检测其是否有开通UserSpace,如果没有则在Response中说明.示例代码如下: public ...
- SQL Server 深入解析索引存储(堆)
标签:SQL SERVER/MSSQL SERVER/数据库/DBA/索引体系结构/堆 概述 本篇文章是关于堆的存储结构.堆是不含聚集索引的表(所以只有非聚集索引的表也是堆).堆的 sys.parti ...
- Django项目添加应用路径
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
- Eclipse 中 Maven 项目 pom.xml 提示错误 org.codehaus.plexus.archiver.jar.Manifest.write(java.io.PrintWriter)
从SVN上下载到Eclipse工作空间的项目一直报如下错误,进行一下Maven ---> Update Project... 就不报错了,但是过一会又会报错 查找资料初步确定是Eclipse中自 ...
- Eclipse 修改自动补全触发器只能输入四个字符为多个字符
如果eclipse中的[auto activation triggers for java]自动补全触发器这个位置的文本框有时候只能输入4个字符, 可以通过修改配置文件的方法实现,具体操作步骤如下: ...