如果参数的类型是List, 则在使用时,collection属性要必须指定为 list
1 2 3 4 5 6 7 8 | < 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 > |
如果参数的类型是Array,则在使用时,collection属性要必须指定为 array
1 2 3 4 5 6 7 8 | < 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 > |
当查询的参数有多个时,例如 findByIds(String name, Long[] ids)
这种情况需要特别注意,在传参数时,一定要改用Map方式, 这样在collection属性可以指定名称
下面是一个示例
1 2 3 4 | java plain" class="page_speeder_1152586271">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 6 7 8 | < select id = "findByIdsMap" resultMap = "BaseResultMap" > select < include refid = "Base_Column_List" /> from tabs where ID in < foreach item = "item" index = "index" collection = "ids" open = "(" separator = "," close = ")" > #{item} </ foreach > </ select >
|
还没有评论,来说两句吧...