Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >mybatis 传入多个list

mybatis 传入多个list

作者头像
IT云清
发布于 2019-01-22 02:59:27
发布于 2019-01-22 02:59:27
2.6K00
代码可运行
举报
文章被收录于专栏:IT云清IT云清
运行总次数:0
代码可运行
mybatis传入多个list集合做参数,很多文章的介绍都是不能实现的,千篇一律的复制,有很大的误导性,这里说一下如何实现:
这里建议你传递对象过来,比如Person对象,里面加入List list1; List list2;….这样,把对象传到mapper.xml中时,取法如下:
dao.java
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
List<User> find(@Param("person")Person person,@Param("name")String name);
mapper.xml
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   <if test="person.list1 != null">
      and id in
      <foreach collection="person.list1" index="index" item="item" open="(" separator="," close=")">
        '${item}'
      </foreach>
    </if>
       <if test="person.list2 != null">
      and id in
      <foreach collection="person.list2" index="index" item="item" open="(" separator="," close=")">
        '${item}'
      </foreach>
    </if>
记录
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  <select id="getEidList" resultType="java.lang.String">
    SELECT efe.eid from ent_file_emergent_industry efe,ent_file ef
      where 1 =1
      and efe.eid = ef.eid
      and efe.code in (SELECT code from dict_emergent_industry where type = 2 and remark in (
        <foreach collection="param.customRemarkOrCodeList" index="index" item="item" open="(" separator="," close=")" >
          '${item}'
        </foreach>
      ))
      and ef.plat_from = '${param.platFrom}'
      and ef.delete_flag = 0
  </select>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年04月27日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
mysql foreach
把集合都封装进map中,比如这里的list1,list2,都加入到集合中,key 为list1,list2,然后按照如下方式取出,collection 属性中为放入map时的key
IT云清
2019/01/22
2.7K0
mybatis高级foreach用法
最近有时需要用到mybatis的in查询,总忘记这个foreach怎么查。顺便记录下笔记。
无敌小菜鸟
2022/05/17
3.4K0
mybatis高级foreach用法
mybatis中foreach collection三种用法
在做mybatis的mapper.xml文件的时候,时常遇到一些需要批量操作的情况,这个时候mybatis的foreach标签就派上用场了。
BUG弄潮儿
2020/06/15
7.4K0
MyBatis传入参数为list、数组、map写法
foreach元素的属性主要有item,index,collection,open,separator,close。
挨踢小子部落阁
2020/01/15
2.9K0
springboot结合MyBatis中使用foreach
在pom.xml中自行加入需要的依赖,application.properties的配置如下
道可道非常道
2019/05/22
1.5K0
springboot结合MyBatis中使用foreach
mybatis之foreach用法
在做mybatis的mapper.xml文件的时候,我们时常用到这样的情况:动态生成sql语句的查询条件,这个时候我们就可以用mybatis的foreach了
知识浅谈
2021/03/03
1.2K0
MyBatis根据数组、集合查询
foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。foreach元素的属性主要有item,index,collection,open,separator,close。item表示集合中每一个元素进行迭代时的别名,index指定一个名字,用于表示在迭代过程中,每次迭代到的位置,open表示该语句以什么开始,separator表示在每次进行迭代之间以什么符号作为分隔符,close表示以什么结束,在使用foreach的时候最关键的也是最容易出错的就是collection属性,该属性是必须指定的,但是在不同情况下,该属性的值是不一样的,主要有一下3种情况:
用户5640963
2019/07/26
1.5K0
Mybatis基础
这里的 <log4j:configuration xmlns:log4j=”http://jakarta.apache.org/log4j/"> 在 Idea 中会报错
OY
2022/03/17
1.1K0
Mybatis基础
Mybatis传参的方式总结
本文总结了MyBatis中传参的多种方式,包括基本类型参数、对象参数、Map参数、注解参数等。通过了解这些传参方式,读者可以更好地在MyBatis中进行参数的传递与处理。
猫头虎
2024/04/07
6030
MyBatis魔法堂:Insert操作详解(返回主键、批量插入)
一、前言                                      数据库操作怎能少了INSERT操作呢?下面记录MyBatis关于INSERT操作的笔记,以便日后查阅。 二、 insert元素 属性详解                               其属性如下: parameterType ,入参的全限定类名或类型别名 keyColumn ,设置数据表自动生成的主键名。对特定数据库(如PostgreSQL),若自动生成的主键不是第一个字段则必须设置 keyPropert
^_^肥仔John
2018/01/18
9.2K0
Mybatis | 基础
(1)#{}会经过JDBC当中的PreparedStatement的预编译,会根据不同的数据类型来编译成对应数据库中所对应的数据,并放到SQL语句的占位符问号上。如下:
Java小技巧
2022/05/23
2420
MyBatis之foreach
     foreach 元素是非常强大的,它允许你指定一个集合,声明集合项和索引变量,它们可以用在元素体内。它也允许你指定开放和关闭的字符串,在迭代之间放置分隔符。这个元素是很智能的,它不会偶然地附加多余的分隔符。
Arebirth
2019/09/24
1.8K0
MyBatis动态SQL
传统的使用JDBC的方法,相信大家在组合复杂的的SQL语句的时候,需要去拼接,稍不注意哪怕少了个空格,都会导致错误。MyBatis的动态SQL功能正是为了解决这种问题, 其通过 if、choose、when、otherwise、trim、where、set、foreach和bind等9种标签,可组合成非常灵活的SQL语句,从而提高开发人员的效率。
用户10358987
2024/04/23
1660
干货 | MyBatis的动态SQL
本文主要根据自己demo案例,详细介绍动态SQL的使用。基于官网,但比官网更详细。
子乾建建-Jeff
2020/06/29
1K0
干货 | MyBatis的动态SQL
mybatis报错
Type handler was null on parameter mapping or property ‘__frch_xxx_0’
JavaEdge
2021/03/13
6780
Mybatis批量操作
Mybatis常会出现批量操作,如批量查询,批量插入,批量修改(replace into)。批量操作要比循环执行效率提升很多,这里对mybatis的批量操作做一个总结讲解。
逝兮诚
2019/10/30
2.4K0
MyBatis传入参数为集合 list 数组 map写法
这几天需要or和拼接in的特定查询条件来做查询,想看看mybatis是否可以通过传递list集合实现,于是找到了他的foreach标签。
WindCoder
2018/09/20
18K0
复杂sql
这里记录一条mybatis中的sql,涉及以下几点: 1.foreach 2.大于等于号,小于号 3.foreach遍历 4.模糊匹配 5.and 和or 的复杂拼接 6.一个巧妙的用法:1=0 <select id="findByPageForEntFile" resultMap="resMap2" statementType="STATEMENT"> select <include refid="Base_Column_List2"/> from ent_file e where 1=1
IT云清
2019/01/22
5130
MyBatis详细使用示例
lazyLoadingEnabled:延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。
鱼找水需要时间
2023/02/16
6720
MyBatis详细使用示例
mybatis接收list集合[什么的传递]
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说mybatis接收list集合[什么的传递],希望能够帮助大家进步!!!
Java架构师必看
2022/03/22
2.5K0
相关推荐
mysql foreach
更多 >
LV.1
兰亮高级JAVA工程师
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验