mapper.xml
select * from user where id in#{id}
java:
ListidList=new ArrayList (); idList.add("1002"); idList.add("6002"); idList.add("3206");
如果是字符串:
mapper.xml
select * from user where id in ( ${ids} )
java:
ListidList=new ArrayList (); idList.add("1002"); idList.add("6002"); idList.add("3206"); String ids = "'"+StringUtils.join(codeList,"','")+"'";
上述依赖包
commons-lang3-3.3.2.jar
如果是list:
mapper.xml
select * from tableid in #{item}
java:
public abstract ListfindByIds(@Param("ids")List ids);
如果是数组:
mapper.xml
java:
public abstract ListfindByIds(@Param("ids")Long[] ids);
当查询的参数有多个时,例如 findByIds(String name, Long[] ids)
这种情况需要特别注意,在传参数时,一定要改用Map方式, 这样在collection属性可以指定名称
下面是一个示例
mapper.xml
java:
Mapparams = new HashMap (2); params.put("name", name); params.put("ids", ids); mapper.findByIdsMap(params);