Skip to content

Commit 6427cd8

Browse files
committed
MapListCamelParser 返回Map数据的解析处理
1 parent 9b12206 commit 6427cd8

File tree

2 files changed

+62
-0
lines changed

2 files changed

+62
-0
lines changed

src/main/java/com/codingapi/simplemybatis/utils/MapCamelUtils.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ public static void camelMap(Map<String, Object> item) {
1717
String newKey = StringCharacterUtils.underlineToCamel(key);
1818
if (!newKey.equals(key)) {
1919
item.put(newKey, item.get(key));
20+
item.remove(key);
2021
}
2122
}
2223
}
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
package com.codingapi.simplemybatis.utils;
2+
3+
import java.util.*;
4+
import java.util.stream.Collectors;
5+
6+
/**
7+
* @author lorne
8+
* @date 2020/4/28
9+
* @description
10+
*/
11+
public class MapListCamelParser {
12+
13+
private List<Map<String,Object>> list;
14+
15+
private Set<String> keys;
16+
17+
public MapListCamelParser(List<Map<String, Object>> list) {
18+
this.keys = new HashSet<>();
19+
this.list = list;
20+
21+
if(hasData()){
22+
camelMap();
23+
}
24+
}
25+
26+
private boolean hasData(){
27+
return list!=null&&list.size()>0;
28+
}
29+
30+
31+
private void camelMap(){
32+
this.list = list.stream().map(item->{
33+
MapCamelUtils.camelMap(item);
34+
keys.addAll(item.keySet());
35+
return item;
36+
}).collect(Collectors.toList());
37+
}
38+
39+
public List<Map<String,Object>> parser(){
40+
if(!hasData()) {
41+
return null;
42+
}
43+
return list.stream().map(item -> {
44+
pushKeys(item);
45+
return item;
46+
}).collect(Collectors.toList());
47+
}
48+
49+
public List<Map<String, Object>> getList() {
50+
return list;
51+
}
52+
53+
private void pushKeys(Map<String,Object> item){
54+
for(String key:keys){
55+
if(!item.containsKey(key)){
56+
item.put(key,null);
57+
}
58+
}
59+
}
60+
61+
}

0 commit comments

Comments
 (0)