List<List<LinkedHashMap<String, String>>>

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;