如何基于表头制作pojo类?

时间:2019-03-01 13:44:48

标签: java spring mongodb pojo

我有可以自定义的表,就像表头也可以更改一样,可以在表中添加行和列。根据该表动态创建一个pojo类,并且字段在运行时基于这些表头,因此我可以将其保存到database(mongodb)。

我正在搜索此消息,却什么也没得到。 就像我有一个带有这些标题的表。

  

|姓名|卷数|类|

这些标题的名称是可自定义的。因此,应该在运行时生成pojo类。 喜欢

class Student
  {
    private name;
    private rollnumber;
    private class;
    //getter and setter
    }

如果表头更改了,那么pojo类也应该更改。

2 个答案:

答案 0 :(得分:0)

您的要求是保留动态记录。有些可能具有某些属性,有些可能没有,那是正确的吗?

您不能动态创建pojo,但是可以更改数据结构的尺寸(将表列转换为行,因为只有行才能动态显示)

class Student {
    private String name;
    private String rollnumber;
    private String class;

    // Getters & Setters for the static fields 
}

class Field {
    private String fieldName;
    private String dataType; // Can enhance using an enum

    // Getters & Setters
}

class StudentField {
    private Student student;
    private Field field;
    private String value;

    // Getters & Setters
}

这样,您可以创建一个动态字段并保留在“字段”中,然后在“学生字段”中与学生动态映射创建的字段。

答案 1 :(得分:0)

我用于可变列名的一种解决方案是像这样重组我的集合:

{
  [
    {
      "name": "my-name",
      "datatype": "my-datatype",
      "display-name": "column-name1",
      "value":"value"
    },  
    {
      "name": "my-name2",
      "datatype": "my-datatype2",
      "display-name": "column-name2",
      "value":"value2"
    }
  ],
  [ ... ]
}

显示名称当然可以更改,但是名称不能更改。 然后,您可以使用这四个字段进行“通用pojo”操作。

相关问题