2019独角兽企业重金招聘Python工程师标准>>>

dao层 ITemplateDao.java:

List<BrokerTemplate>  GetTemplateListByIds(@Param(value = "ids") List<Long> ids);

resource:Template.xml

<select id="GetTemplateListByIds" resultMap="BrokerTemplate">SELECT tb1.broker_template_id,tb1.broker_id,tb1.type,tb1.content,tb1.is_default,tb1.create_time,tb1.update_time,tb1.is_deleted,tb1.delete_time,tb1.name,tb1.`is_locked`FROM broker_template  tb1WHERE broker_template_id IN<foreach collection="ids" item="id" index="index" open="(" close=")" separator=",">#{id}</foreach></select>

<foreach>中 属性如下

collection :是遍历的数据集合,这里是我的list<Long> ids。

item : 每个子项命名。需要跟foreach内使用时一致,这里是#{id}

index:索引位置

open :在遍历执行之前先附加的字符串。

close : 在遍历执行完成后附加的字符串。

separator:遍历每个item子项后附加的字符串(即子项之间自定义的间隔符号)

栗子: open="("   close=")" separator=","  拼出来就是 ( item1,item2, item3 )

转载于:https://my.oschina.net/CrazyBoy1024/blog/1619695

mybatis使用foreach实现sql的in查询相关推荐

  1. mybatis多个foreach_使用 Mybatis 的 foreach 批量模糊 like 查询及批量插入

    使用 mybatis 平时都是用遍历集合 in ( ) ....,其实还可以多模糊查询和批量操作等其他操作,要明白 foreach 元素的属性主要意义,灵活使用,举例如下. 1.根据多个品牌名字分类, ...

  2. Mybatis映射文件SQL语句模糊查询,#和$的区别和注意事项

    Mybatis映射文件SQL语句模糊查询 1. "%"#{value}"%" 在参数中不需要添加 %_ 推荐使用 2. '%${value}%' 在参数中不需要 ...

  3. Mybatis的动态sql语句的查询

    if <select id="findActiveBlogWithTitleLike"resultType="Blog">SELECT * FROM ...

  4. mybatis动态SQL多条件查询1 - if 标签

    Mybatis框架的动态SQL技术是一种根据特定条件动态拼接SQL语句的过程.它的存在是为了解决拼接SQL语句字符串的痛点问题.创建新的Mapper接口和新的mapper映射文件. 目录 1.创建Dy ...

  5. Mybatis中sql拼接in查询

    MyBatis数据库sql语句中in一个动态数组 foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合.foreach元素的属性主要有item,index,collection ...

  6. 六、MyBatis特殊的SQL:模糊查询、动态设置表名、校验名称唯一性

    文章目录 六.MyBatis特殊的SQL 6.1 模糊查询 6.2 动态设置表名 6.3 校验名称唯一性 本人其他相关文章链接 六.MyBatis特殊的SQL 6.1 模糊查询 方式1:select ...

  7. Mybatis入门之动态sql

    Mybatis入门之动态sql 通过mybatis提供的各种标签方法实现动态拼接sql. 1.if.where.sql.include标签(条件.sql片段) <sql id="sel ...

  8. MyBatis 源码分析 - SQL 的执行过程

    本文速览 本篇文章较为详细的介绍了 MyBatis 执行 SQL 的过程.该过程本身比较复杂,牵涉到的技术点比较多.包括但不限于 Mapper 接口代理类的生成.接口方法的解析.SQL 语句的解析.运 ...

  9. 源码分析 Mybatis 的 foreach 为什么会出现性能问题

    背景 最近在做一个类似于综合报表之类的东西,需要查询所有的记录(数据库记录有限制),大概有1W条记录,该报表需要三个表的数据,也就是根据这 1W 个 ID 去执行查询三次数据库,其中,有一条查询 SQ ...

最新文章

  1. Java的左移和右移的含义!
  2. sqlite3 解决并发读写冲突的问题
  3. python opencv 人脸比对_Python3.5+openCv在Windows下利用LBP算法进行人脸识别并匹配
  4. LeetCode 2079. 给植物浇水(前缀和)
  5. Linux bash卸载软件,Ubuntu卸载软件的4种方法
  6. linux找数组规矩,linux shell 数组建立及使用技巧(示例代码)
  7. 苹果计划在明年推出的高端iPhone机型上应用挖孔屏
  8. Node VS C#
  9. 人工智能芯片的前世与今生
  10. hdu 1285 确定比赛名次
  11. ExecutorService中submit和execute、Runnable和Callable
  12. android面试笔试题详解
  13. 数字延时网络混响算法研究(FDN)
  14. 开源远程桌面软件_RustDesk_(可自建远程桌面服务器)
  15. vm8.0下安装mac
  16. DirectX12(D3D12)基础教程(八)——多显卡渲染基础、共享纹理、多GPU同步
  17. kubernetes 使用kubectl port-forward 访问应用
  18. PDF可以被压缩吗,是如何实现的?
  19. CreateWindowEx
  20. linux命令行怎么播放,在linux命令行里能听歌看电影吗

热门文章

  1. 转:TestLink1.9.3测试用例:Excel转换XML工具二实现代码
  2. IFE JavaScript Task0002-1 小练习1:处理用户输入
  3. QT中树控件QTreeView开发实例
  4. 识别字符串中的表达式
  5. bvp解算器是什么_边值问题(BVP)的Matlab解法
  6. python数据整理代码_熬夜整理的资料:分享Python数据可视化图表代码和案例给大家...
  7. 【ijkplayer】编译 Android 版本的 ijkplayer ⑤ ( 执行 init-android-libyuv.sh | 执行 init-android-soundtouch.sh )
  8. 【错误记录】Android Gradle 配置报错 ( gradle.properties 配置到 BuildConfig 中需要注意类型转换 | 位置: 类 BuildConfig )
  9. 【Android 逆向】selinux 进程保护 ( selinux 进程保护 | 宽容模式 Permissive | 强制模式 Enforcing )
  10. 【Java 网络编程】客户端 Socket 创建