废话不多说,直接上代码!

<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循环的更多相关文章

  1. 18Mybatis_动态sql_foreach

    foreach: 向sql传递数组或List,mybatis使用foreach解析 应用场景: 在用户查询列表和查询总数的statement中增加多个id输入查询. sql语句如下: 两种方法: SE ...

  2. element-UI动态的循环生成Popover弹出框的方法

    父组件:<div class="itemLi" :class="{gray: (salse.flashsaleStatus==3 || salse.flashsal ...

  3. ABAP 表格控制(Table Control)和步循环

    表格控制(Table Control)和步循环     1.两个标准Demo: SAPMTZ60,SAPMTZ61 2.简介 3.建立Table Control程序的基本流程 4.使用步循环 5.表格 ...

  4. DevExpress 中根据数据库字典动态生成卡式菜单 z

    第三方的Devexpress套件因为要使用权限机制控制不同用户进入系统显示菜单所以要配合字典数据动态生成.在WEB中这种问题灰常的轻松在winform里就稍微有点不同为了用DEV实现卡式菜单有组的概念 ...

  5. Devexpress Ribbon 动态生成菜单

    /// <summary> /// 动态加载菜单 /// </summary> private void GetMenuBind() { //根据登录用户角色菜单动态创建 // ...

  6. Mybatis动态SQL简单了解 Mybatis简介(四)

    动态SQL概况 MyBatis 的强大特性之一便是它的动态 SQL 在Java开发中经常遇到条件判断,比如: if(x>0){ //执行一些逻辑........ }   Mybatis应用中,S ...

  7. SpringBoot+Mybatis 实现动态数据源切换方案

    背景 最近让我做一个大数据的系统,分析了一下,麻烦的地方就是多数据源切换抽取数据.考虑到可以跨服务器跨数据库抽数,再整理数据,就配置了这个动态数据源的解决方案.在此分享给大家. 实现方案 数据库配置文 ...

  8. Vector(动态数组)怎么用咧↓↓↓

    定义方式:vector<int> a; //二维vector<int>a[100] 在末尾压入容器:a.push_back(x);//二维 a[i].push_back(x) ...

  9. SpringBoot集成Mybatis动态多数据源后,MybatisPlus的IPage失效的问题解决方案

    背景 之前做数据抽取的时候,搭了一个mybatis动态数据源切换的架子.方便他们写抽取的代码.今天同事问我,架子里面的mybatisplus的IPage失效了是什么问题.想了一下,应该是写动态数据源的 ...

随机推荐

  1. 学习笔记----html的lang属性

    lang属性的取值应该遵循 BCP 47 - Tags for Identifying Languages. 单一的 zh 和 zh-CN 均属于废弃用法. 问题主要在于,zh 现在不是语言code了 ...

  2. java 基础复习

    最近准备阿里巴巴的面试,被提到需要一个比较好的java能力,因此花了点时间,再次把JAVA看了一遍,其中的某些重点记录下来,以便以后复习. (1)& 和&& 的区别 (2)排序 ...

  3. EBS五种安全性屏蔽解析

    http://blog.11equals3.top/2018/02/09/190/ 分类帐集 定义: 分类帐集顾名思义就是分类账的集合.它是总帐提供的将相同科目表和相同日历的多个分类帐集合一起用于多分 ...

  4. 816. Ambiguous Coordinates

    We had some 2-dimensional coordinates, like "(1, 3)" or "(2, 0.5)".  Then, we re ...

  5. mysql数据统计技巧备忘录

    mysql 作为常用数据库,操作贼六是必须的,对于数字操作相关的东西,那是相当方便,本节就来拎几个统计案例出来供参考! order订单表,样例如下: CREATE TABLE `t_order` ( ...

  6. GITHUB(github)初级使用

    Github顾名思义是一个Git版本库的托管服务,是目前全球最大的软件仓库,拥有上百万的开发者用户,也是软件开发和寻找资源的最佳途径,Github不仅可以托管各种Git版本仓库,还拥有了更美观的Web ...

  7. Xamarin.Android 隐藏软键盘

    引用: using Android.Views.InputMethods; 代码: //隐藏键盘 InputMethodManager imm = (InputMethodManager)GetSys ...

  8. mysql 开发进阶篇系列 1 SQL优化(show status命令)

    一.概述 随着上线后,数据越来越多,很多sql语句开始显露出性能问题,本章介绍在mysql中优化sql语句的方法.  1.  通过show status 命令了解各种sql的执行频率 通过show [ ...

  9. JVM学习(一)、垃圾收集器简介

    一.垃圾收集算法 (1)标记-清除算法:最基础的收集算法“标记--清除”(Mark-sweep)算法,算法分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的 ...

  10. Nginx安装echo模块

    echo-nginx-module 模块可以在Nginx中用来输出一些信息,可以用来实现简单接口或者排错. 项目地址:https://github.com/openresty/echo-nginx-m ...