mybatis的in查询

来源:互联网 发布:淘宝网买短款真丝旗袍 编辑:程序博客网 时间:2024/05/16 13:56

1. findByIds(List ids)

如果参数的类型是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>  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

2:findByIds(Long[] ids)

如果参数的类型是Array,则在使用时,collection属性要必须指定为 array

<select id="findByIdsMap" resultMap="BaseResultMap">      select      <include refid="Base_Column_List" />      from tabs where ID in      <foreach item="item" index="index" collection="array" open="(" separator="," close=")">       #{item}      </foreach>  </select>  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

3. 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);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
<select id="findByIdsMap" resultMap="BaseResultMap">       select       <include refid="Base_Column_List" />       from tabs where      name = #{name}     and ID in       <foreach item="item" index="index" collection="ids" open="(" separator="," close=")">        #{item}       </foreach>  </select>  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
0 0
原创粉丝点击