controller
map.put("userIds", MapUtil.getKeyS(linkedHashMapUserInfos, values));
sqlxml
<if test="userIds !=null and userIds.size > 0">
AND userId in
<foreach collection="userIds" item="userIds" index="index" open="(" close=")" separator=",">
#{userIds}
</foreach>
</if>
MapUtil
package com.util;
import com.alibaba.fastjson.JSON;
import java.util.*;
/**
* @description:
* @author: kai8
* @date: 2021/1/28
*/
public class MapUtil {
public static Set<String> getKeyS(Map<String, Object> mapData, Map<String, Object> values) {
Set<String> keyList = new HashSet<>();
List<String> valueKeys = new ArrayList<>();
for (String getKey : values.keySet()) {
valueKeys.add(getKey);
}
if(valueKeys.size()!=0){
for (String getKey : mapData.keySet()) {
Map data = (Map) mapData.get(getKey);
boolean flag = true;
for (int i = 0; i < valueKeys.size(); i++) {
String str1 = String.valueOf(data.get(valueKeys.get(i)));
String str2 = String.valueOf(values.get(valueKeys.get(i)));
try {
if (str2 == "") {
} else if (!str1.equals(str2)) {
flag = false;
}
} catch (NullPointerException e) {
flag = false;
}
}
if (flag) {
keyList.add(getKey);
}
}
}
return keyList;
}
public static Set<String> getKeyLike(Map<String, Object> mapData, Map<String, Object> values) {
Set<String> keyList = new HashSet<>();
List<String> valueKeys = new ArrayList<>();
for (String getKey : values.keySet()) {
valueKeys.add(getKey);
}
if(valueKeys.size()!=0){
for (String getKey : mapData.keySet()) {
Map data = (Map) mapData.get(getKey);
boolean flag = true;
for (int i = 0; i < valueKeys.size(); i++) {
String str1 = String.valueOf(data.get(valueKeys.get(i)));
String str2 = String.valueOf(values.get(valueKeys.get(i)));
try {
if (str2 == "") {
} else if (!str1.equals(str2)) {
flag = false;
}
} catch (NullPointerException e) {
flag = false;
}
}
if (flag) {
keyList.add(getKey);
}
}
}
return keyList;
}
public static Object toObject(Map<String, Object> map, Class objClass) {
return JSON.parseObject(JSON.toJSONString(map), objClass);
}
public static Map toMap(Object object) {
return JSON.parseObject(JSON.toJSONString(object), Map.class);
}
}