转自:http://www.cnblogs.com/xusir/archive/2013/07/24/3210286.html

1. 当查询的参数只有一个时 
  findByIds(List<Long> ids)

 1.a 如果参数的类型是List, 则在使用时,collection属性要必须指定为 list
 <select id="findByIdsMap" resultMap="BaseResultMap"> Select <include refid="Base_Column_List" /> from jria where ID in <foreach item="item" index="index" collection="list" open="(" separator="," close=")"> #{item} </foreach> </select> 

 findByIds(Long[] ids)

 1.b 如果参数的类型是Array,则在使用时,collection属性要必须指定为 array
  <select id="findByIdsMap" resultMap="BaseResultMap"> select <include refid="Base_Column_List" /> from jria where ID in <foreach item="item" index="index" collection="array" open="(" separator="," close=")"> #{item} </foreach> </select> 

2. 当查询的参数有多个时,例如 findByIds(String name, Long[] ids)
 这种情况需要特别注意,在传参数时,一定要改用Map方式, 这样在collection属性可以指定名称
         下面是一个示例
         Map<String, Object> params = new HashMap<String, Object>(2);params.put("name", name); params.put("ids", ids); mapper.findByIdsMap(params); <select id="findByIdsMap" resultMap="BaseResultMap"> select <include refid="Base_Column_List" /> from jria where ID in <foreach item="item" index="index" collection="ids" open="(" separator="," close=")"> #{item} </foreach> </select> 

 
完整的示例如下:
例如有一个查询功能,Mapper接口文件定义如下方法:
List<Jria> findByIds(Long... ids);

使用 in 查询的sql拼装方法如下:
 <select id="findbyIds" resultMap="BaseResultMap"> select <include refid="Base_Column_List" /> from jria where ID in <foreach item="item" index="index" collection="array" open="(" separator="," close=")"> #{item} </foreach> </select> 

转载于:https://www.cnblogs.com/fsh1542115262/p/3887311.html

mybatis中使用in查询时的注意事项相关推荐

  1. mybatis 使用in 查询时报错_MyBatis(四):mybatis中使用in查询时的注意事项

    packagecom.boco.jobmonitor.model;importjava.util.Date;importjavax.persistence.GeneratedValue;importj ...

  2. mybatis中的关联查询

    mybatis中的关联查询 (尊重劳动成果,转载请注明出处:https://blog.csdn.net/qq_39778516/article/details/84191429 consistence ...

  3. 关于mybatis中的时间段查询

    ** 关于mybatis中的时间段查询 在最近的开发中使用比较频繁的一个点,咱就是说浅浅的记录一下!! 相信大家对于mybatis框架并不陌生,我使用它在开发过程中需要对一个时间段进行查询,前端设置的 ...

  4. 源码解读Mybatis List列表In查询实现的注意事项

    http://www.blogjava.net/xmatthew/archive/2011/08/31/355879.html 在SQL开发过程中,动态构建In集合条件查询是比较常见的用法,在Myba ...

  5. MYBATIS 根据IN条件查询时,数据只查第一个的问题(字符串被截断......)

    先说说我遇到的问题吧: 表student有如下数据, 我想查出来stu_id in (1,2,3)的数据 mybatis代码如下: 1 2 3 <SELECT id="queryMed ...

  6. mybatis中LIKE模糊查询的几种写法以及注意点(亲测第三种CONCAT()函数的)

    mybatis中对于使用like来进行模糊查询的几种方式: (1)使用${...} 注意:由于$是参数直接注入的,导致这种写法,大括号里面不能注明jdbcType,不然会报错 org.mybatis. ...

  7. mybatis中LIKE模糊查询的几种写法以及注意点

    From: https://blog.csdn.net/zhenwei1994/article/details/81876278 mybatis中对于使用like来进行模糊查询的几种方式: (1)使用 ...

  8. oracle中使用sql查询时字段为空则赋值默认

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. oracle 通过 nvl( )函数sql 查询时为 空值 赋默认值 oracle 函数介绍之nvl ...

  9. oracle判断字段为空时选用别的字段_oracle中使用sql查询时字段为空则赋值默认

    转至:http://www.th7.cn/db/Oracle/201501/86125.shtml oracle 通过 nvl( )函数sql 查询时为 空值 赋默认值 oracle 函数介绍之nvl ...

最新文章

  1. ibatis教程之调用带参数的存储过程
  2. BZOJ 2724蒲公英 (分块) 【内有块大小证明】
  3. vue判断a是否可点击_判断 a 和 b 里面元素是否一致:一致输出True,否则输出False...
  4. [UI] MFD UI kit
  5. SpringBoot 报错Field XXX required a bean of type XXX that could not be found.
  6. 计算机组成原理的基础知识,计算机组成原理:基础知识部分习题解答(学习笔记)...
  7. HDU 1159.Common Subsequence【动态规划DP】
  8. Spark Streaming的工作机制
  9. c51两个定时器中断冲突_STM32定时器与中断整理
  10. Django项目实践2 - Django模板(view-html)
  11. border和boder-radius
  12. 揭秘“菲住布渴”中运用的黑科技:除了check in、坐电梯、开门...全部刷脸之外,还有什么?
  13. PHP 该网页无法正常运作情况原因记录 code 500
  14. 数据库系统概念 - 数据模型,关系模型,关系,候选码,主码,外码
  15. 华为智慧屏和鸿蒙系统对比,鸿蒙系统初体验,华为智慧屏V65到底值不值得入手?...
  16. Bug:No artifacts configured
  17. 再见,南邮!别了,南京!
  18. mchain r语言_布林带交易策略R语言实现
  19. COGS 827. [Tyvj Feb11] 网站计划
  20. 中国大数据行业人才生态现状

热门文章

  1. 嵌入式 Linux 设备的“瑞士军刀” BusyBox 受多个漏洞影响
  2. APT 组织将目标锁定Linux
  3. libxml2 编译报错
  4. 从零开始——安装插件和各种专业术语
  5. 2018年6月26日笔记
  6. KafKa基本入门教程
  7. KVM虚拟化基础概念
  8. 密码破解之Esxi重置root密码
  9. mysql 修改data目录后 无法使用脚本启动
  10. linux 磁盘分区,格式化,挂载