List<List<LinkedHashMap<String, String>>> 这样的数据如何提取出来存放到数据库
以下这样的一个数据格式,我需要怎么样才可以提取出来然后保存到数据库里面呢
[[{0=20080006, 1=2020-08-15, 2=血清, 3=中枢4项, 4=陈玉仪, 5=女, 6=29, 7=脱髓鞘性脑病?, 8=P944503, 9=广东省人民医院, 10=神经内科二区, 11=, 12=15170159, 13=赖晓毅, 14=2020-08-14, 15=2020-08-14, 16=2020-08-15, 17=79530@qq.com, 18=SF1193242432617, 19=单周圆}, {0=20080007, 1=2020-08-15, 2=脑脊液, 3=自免8项, 4=陈玉仪, 5=女, 6=29, 7=脱髓鞘性脑病?, 8=P944503, 9=广东省人民医院, 10=神经内科二区, 11=, 12=15170159, 13=赖晓毅, 14=2020-08-14, 15=2020-08-14, 16=2020-08-15, 17=792830@qq.com, 18=SF1193242432617, 19=单周圆}, {0=20080008, 1=2020-08-15, 2=脑脊液, 3=中枢4项, 4=陈玉仪, 5=女, 6=29, 7=脱髓鞘性脑病?, 8=P944503, 9=广东省人民医院, 10=神经内科二区, 11=, 12=159170159, 13=赖晓毅, 14=2020-08-14, 15=2020-08-14, 16=2020-08-15, 17=795530@qq.com, 18=SF10922301418, 19=周健聪}, {0=20080009, 1=2020-08-15, 2=脑脊液, 3=副瘤11项, 4=陈旭东, 5=男, 6=49, 7=副瘤综合征待排, 8=, 9=佛山市第一人民医院, 10=神经内科, 11=, 12=13922909, 13=陈静娟, 14=2020-08-14, 15=2020-08-14, 16=2020-08-17, 17=5984126@qq.com, 18=SF10922301418, 19=周健聪}]]
我想了下:如果把你的数据整成这格式 ,对齐一下。
就是json。格式。
内层存储的是K=V Map结构。你指定的泛型,应该是<LinkedHashMap<Integer, String>>。key值设定从0-19.
而不是你写的形式。
然后,再把这个Map往List里面存储。
你整出两层List.我没整明白。
我觉得首先应该确定数据库中的数据什么格式的,LinkedHashMap<String, String>中的数据是存在一个字段中,还是存在具体的字段中,若每个值对应数据库中的一个字段,可以使用bean对数据进行封装起来。Json转Bean
描述清楚场景,要提取是哪些数据,数据库存的字段结构又是怎么样了,像这样很多地方都不明确,没办法继续
import com.alibaba.fastjson.JSONObject;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
public class Test {
public static void main(String[] args) {
List list1 = new ArrayList();
List list2 = new ArrayList();
LinkedHashMap<String, String> map;
map = new LinkedHashMap<>();
map.put("0", "20080006");
map.put("1", "2020-08-15");
map.put("2", "血清");
map.put("3", "中枢4项");
map.put("4", "陈玉仪");
map.put("5", "女");
map.put("6", "29");
map.put("7", "脱髓鞘性脑病?");
map.put("8", "P944503");
map.put("9", "广东省人民医院");
map.put("10", "神经内科二区");
map.put("11", "");
map.put("12", "15170159");
map.put("13", "赖晓毅");
map.put("14", "2020-08-14");
map.put("15", "2020-08-14");
map.put("16", "2020-08-15");
map.put("17", "79530@qq.com");
map.put("18", "SF1193242432617");
map.put("19", "单周圆");
list2.add(map);
map = new LinkedHashMap<>();
map.put("0", "20080007");
map.put("1", "2020-08-15");
map.put("2", "脑脊液");
map.put("3", "自免8项");
map.put("4", "陈玉仪");
map.put("5", "女");
map.put("6", "29");
map.put("7", "脱髓鞘性脑病?");
map.put("8", "P944503");
map.put("9", "广东省人民医院");
map.put("10", "神经内科二区");
map.put("11", "");
map.put("12", "15170159");
map.put("13", "赖晓毅");
map.put("14", "2020-08-14");
map.put("15", "2020-08-14");
map.put("16", "2020-08-15");
map.put("17", "79530@qq.com");
map.put("18", "SF1193242432617");
map.put("19", "单周圆");
list2.add(map);
map = new LinkedHashMap<>();
map.put("0", "20080008");
map.put("1", "2020-08-15");
map.put("2", "脑脊液");
map.put("3", "中枢4项");
map.put("4", "陈玉仪");
map.put("5", "女");
map.put("6", "29");
map.put("7", "脱髓鞘性脑病?");
map.put("8", "P944503");
map.put("9", "广东省人民医院");
map.put("10", "神经内科二区");
map.put("11", "");
map.put("12", "15170159");
map.put("13", "赖晓毅");
map.put("14", "2020-08-14");
map.put("15", "2020-08-14");
map.put("16", "2020-08-15");
map.put("17", "795530@qq.com");
map.put("18", "SF10922301418");
map.put("19", "周健聪");
list2.add(map);
map = new LinkedHashMap<>();
map.put("0", "20080009");
map.put("1", "2020-08-15");
map.put("2", "脑脊液");
map.put("3", "副瘤11项");
map.put("4", "陈旭东");
map.put("5", "男");
map.put("6", "49");
map.put("7", "副瘤综合征待排");
map.put("8", "");
map.put("9", "佛山市第一人民医院");
map.put("10", "神经内科");
map.put("11", "");
map.put("12", "13922909");
map.put("13", "陈静娟");
map.put("14", "2020-08-14");
map.put("15", "2020-08-14");
map.put("16", "2020-08-17");
map.put("17", "5984126@qq.com");
map.put("18", "SF10922301418");
map.put("19", "周健聪");
list2.add(map);
list1.add(list2);
System.out.println(list1);//list1构造题目中的数据,这里打印出来看结果
//分割线
System.out.println("--------------------------------------------------");
for(int i=0;i<list1.size();i++){
List list3 = (List) list1.get(i);
for(int j=0;j<list3.size();j++){
LinkedHashMap<String,String> map1 = (LinkedHashMap) list3.get(j);//取出LinkedHashMap的数据
LinkedHashMap<String,String> map2 = new LinkedHashMap();
for(Map.Entry<String, String> vo : map1.entrySet()){
map2.put("a"+vo.getKey(),vo.getValue());//因为key是数字,而对象的字段名称不能是数字,所以要进行转换
}
A a = JSONObject.parseObject(JSONObject.toJSONString(map2), A.class);//利用JSONObject转成对象
System.out.println(a);
}
}
}
}
/**
* 用来存储数据,a0到a19 对应 0到19
*/
class A implements Serializable {
private static final long serialVersionUID = -2297051066245055089L;
private String a0;
private String a1;
private String a2;
private String a3;
private String a4;
private String a5;
private String a6;
private String a7;
private String a8;
private String a9;
private String a10;
private String a11;
private String a12;
private String a13;
private String a14;
private String a15;
private String a16;
private String a17;
private String a18;
private String a19;
public String getA0() {
return a0;
}
public void setA0(String a0) {
this.a0 = a0;
}
public String getA1() {
return a1;
}
public void setA1(String a1) {
this.a1 = a1;
}
public String getA2() {
return a2;
}
public void setA2(String a2) {
this.a2 = a2;
}
public String getA3() {
return a3;
}
public void setA3(String a3) {
this.a3 = a3;
}
public String getA4() {
return a4;
}
public void setA4(String a4) {
this.a4 = a4;
}
public String getA5() {
return a5;
}
public void setA5(String a5) {
this.a5 = a5;
}
public String getA6() {
return a6;
}
public void setA6(String a6) {
this.a6 = a6;
}
public String getA7() {
return a7;
}
public void setA7(String a7) {
this.a7 = a7;
}
public String getA8() {
return a8;
}
public void setA8(String a8) {
this.a8 = a8;
}
public String getA9() {
return a9;
}
public void setA9(String a9) {
this.a9 = a9;
}
public String getA10() {
return a10;
}
public void setA10(String a10) {
this.a10 = a10;
}
public String getA11() {
return a11;
}
public void setA11(String a11) {
this.a11 = a11;
}
public String getA12() {
return a12;
}
public void setA12(String a12) {
this.a12 = a12;
}
public String getA13() {
return a13;
}
public void setA13(String a13) {
this.a13 = a13;
}
public String getA14() {
return a14;
}
public void setA14(String a14) {
this.a14 = a14;
}
public String getA15() {
return a15;
}
public void setA15(String a15) {
this.a15 = a15;
}
public String getA16() {
return a16;
}
public void setA16(String a16) {
this.a16 = a16;
}
public String getA17() {
return a17;
}
public void setA17(String a17) {
this.a17 = a17;
}
public String getA18() {
return a18;
}
public void setA18(String a18) {
this.a18 = a18;
}
public String getA19() {
return a19;
}
public void setA19(String a19) {
this.a19 = a19;
}
@Override
public String toString() {
return "A{" +
"a0='" + a0 + '\'' +
", a1='" + a1 + '\'' +
", a2='" + a2 + '\'' +
", a3='" + a3 + '\'' +
", a4='" + a4 + '\'' +
", a5='" + a5 + '\'' +
", a6='" + a6 + '\'' +
", a7='" + a7 + '\'' +
", a8='" + a8 + '\'' +
", a9='" + a9 + '\'' +
", a10='" + a10 + '\'' +
", a11='" + a11 + '\'' +
", a12='" + a12 + '\'' +
", a13='" + a13 + '\'' +
", a14='" + a14 + '\'' +
", a15='" + a15 + '\'' +
", a16='" + a16 + '\'' +
", a17='" + a17 + '\'' +
", a18='" + a18 + '\'' +
", a19='" + a19 + '\'' +
'}';
}
}
测试结果:
我数据字段是这样的话需要怎么匹配起来呢
//对应0
@ApiModelProperty(hidden = true)
@Column(name="laboratoryNumber",columnDefinition="varchar(100) comment ''")
private String laboratoryNumber;
//对应1
@ApiModelProperty(hidden = true)
@Column(name="samplingTime",columnDefinition="varchar(100) comment ''")
private String samplingTime;
//对应2
@ApiModelProperty(hidden = true)
@Column(name="typeInspection",columnDefinition="varchar(100) comment ''")
private String typeInspection;
//对应3
@ApiModelProperty(hidden = true)
@Column(name="inspectionItems",columnDefinition="varchar(100) comment ''")
private String inspectionItems;
//对应4
@ApiModelProperty(hidden = true)
@Column(name="fullName",columnDefinition="varchar(100) comment ''")
private String fullName;
//对应5
@ApiModelProperty(hidden = true)
@Column(name="sex",columnDefinition="varchar(10) comment ''")
private String sex;
//对应6
@ApiModelProperty(hidden = true)
@Column(name="age",columnDefinition="varchar(10) comment ''")
private String age;
//对应7
@ApiModelProperty(hidden = true)
@Column(name="clinicalDiagnosis",columnDefinition="varchar(255) comment ''")
private String clinicalDiagnosis;
//对应8
@ApiModelProperty(hidden = true)
@Column(name="inpatientNumber",columnDefinition="varchar(100) comment ''")
private String inpatientNumber;
//对应9
@ApiModelProperty(hidden = true)
@Column(name="sendingHospital",columnDefinition="varchar(125) comment ''")
private String sendingHospital;
//对应10
@ApiModelProperty(hidden = true)
@Column(name="department",columnDefinition="varchar(50) comment ''")
private String department;
//对应11
@ApiModelProperty(hidden = true)
@Column(name="specimenBarcode",columnDefinition="varchar(100) comment ''")
private String specimenBarcode;
//对应12
@ApiModelProperty(hidden = true)
@Column(name="telephone",columnDefinition="varchar(50) comment ''")
private String telephone;
//对应13
@ApiModelProperty(hidden = true)
@Column(name="applyingDoctor",columnDefinition="varchar(50) comment ''")
private String applyingDoctor ;
//对应14
@ApiModelProperty(hidden = true)
@Column(name="sampleTime",columnDefinition="varchar(50) comment ''")
private String sampleTime;
//对应15
@ApiModelProperty(hidden = true)
@Column(name="sampleDeliveryTime",columnDefinition="varchar(50) comment ''")
private String sampleDeliveryTime;
//对应16
@ApiModelProperty(hidden = true)
@Column(name="issuingTime",columnDefinition="varchar(50) comment ''")
private String issuingTime;
//对应17
@ApiModelProperty(hidden = true)
@Column(name="mailbox",columnDefinition="varchar(50) comment ''")
private String mailbox;
//对应18
@ApiModelProperty(hidden = true)
@Column(name="courierNumber",columnDefinition="varchar(50) comment ''")
private String courierNumber;
//19
@ApiModelProperty(hidden = true)
@Column(name="salesman",columnDefinition="varchar(50) comment ''")
private String salesman;