controller接收的参数:
@RequestParam(value = "ids",required = false) String ids
service和mapper
List<TBizMaterial> getOne(@Param("ids") List<Long> ids);
service中的方法中的ids用工具类调用分割存入一个list集合中
//controller调用service中的方法
tBizMaterialService.getOne(Util.ids2LongList(ids))
- 把多个id当成String传过来
- 格式是这样的:"1,2,3,4"
- 然后用一个工具类把它们分割开存在一个list集合中
工具类:
/**
* 字符串 ids 到 List<Long> 的转换
*
* @param ids
* @return
*/
public static List<Long> ids2LongList(String ids){
if(ids != null){
ids = ids.replaceFirst("\\[","").replaceFirst("\\]","");
String[] idArray = ids.split(",");
List<Long> idList = new ArrayList<Long>();
for(String id : idArray){
idList.add(Long.parseLong(id));
}
return idList;
}
return Arrays.asList();
}
mapper.xml
<if test="ids != null and ids.size() > 0">
and id in
<foreach item="id" index="index" collection="ids" open ="(" separator="," close=")">
#{id}
</foreach>
</if>
xml中使用foreach循环将其遍历查询
|