У меня есть входной файл XML, который выглядит как:Чтение XML и создание нескольких таблиц
<mbean className="OperatingSystem">
<attribute>
<attributeName>Arch</attributeName>
<formatter>STRING</formatter>
</attribute>
<attribute>
<attributeName>ProcessCpuLoad</attributeName>
<formatType>PERCENT</formatType>
</attribute>
</mbean>
Я создал POJO под названием 'MBeans', который выглядит следующим образом:
@XmlRootElement(name = "mbean")
@XmlAccessorType(XmlAccessType.FIELD)
public class Mbean
{
@XmlElement(name = "attribute")
private List<Attribute> attributes = null;
@XmlAttribute(name = "className")
private String className;
public String getClassName() {
return className;
}
}
Я могу успешно отменить мой XML-файл в этом POJO, и мое приложение может использовать этот объект как урожай Ded. Этот входной файл сообщает мне информацию, которую я должен извлечь из определенного MBean, который у меня есть. Есть ли способ создать несколько таблиц на основе XML-файла, так что когда я вытаскиваю указанную информацию, я могу сохранить эту информацию в указанной структуре таблицы, а затем использовать JDBC для создания таблиц SQL в моей базе данных H2?
Например, я хотел бы создать таблицы, которые выглядят как:
+------------------------+
| MBeans |
+------+-----------------+
| ID | MBeanName |
+------+-----------------+
| 1 | OperatingSystem |
+------+-----------------+
+--------------------------------+
| Attributes |
+------+--------+----------------+
| ID | MbeanId| AttributeName |
+------+--------+----------------+
| 1 | 1 | Arch |
+------+--------+----------------+
| 2 | 1 | ProcessCpuLoad |
+------+--------+----------------+
+------------------------------------+
| OperatingSystem.Arch |
+------+--------+------------+-------+
| ID | MbeanId| AttributeId| Value |
+------+--------+------------+-------+
| 1 | 1 | 1 | amd64 |
+------+--------+------------+-------+
| 2 | 1 | 1 | amd64 |
+------+--------+------------+-------+
+------------------------------------+
| OperatingSystem.ProcessCpuLoad |
+------+--------+------------+-------+
| ID | MbeanId| AttributeId| Value |
+------+--------+------------+-------+
| 1 | 1 | 2 | 0.009 |
+------+--------+------------+-------+
| 2 | 1 | 2 | 0.0691|
+------+--------+------------+-------+
спасибо! Хотя я не реализовал его так, как вы предлагали, ваше решение дало мне представление. Я создал объект под названием Table with Rows, а столбцы этой таблицы были {"ID", "MbeanID", "AttributeID", "Value"}. Затем передал этот объект методу, называемому update, способом, созданным getCreateTable(), который создавал бы необходимые таблицы sql, если они еще не существовали, или обновил существующие таблицы с помощью инструкций «insert». – Ishnark