1

我正在使用 JSoup 提取标签中的元素。<table>这是我使用 .text() 时的结果:

ACCOUNT
0000001
0000002
0000003

NAME
Customer1
Customer2
Customer3

BALANCE
100.00
200.00
550.00

我想将此输出存储到 mysql 数据库中。我可以这样做吗?如果存储的输入是 xml doc,我该怎么办?

4

1 回答 1

0

将 XML 插入数据库时​​,您需要考虑要对 XML 所表示的数据执行哪些操作。

例如,您可以将 XML 视为输入数据,然后创建以易于查询的方式保存数据的模式。如果这是您想做的,那么使用 JAXB 作为解组器,因为您可以通过 xjc 工具从 XSD 轻松生成适当注释的 pojos/entities。一些额外的 JPA 注释,您将拥有一个快速的解决方案,将 XML 映射到允许各种混合和匹配查询和替代视图的完整模式。当然,JAXB 注释可用于生成多种输出格式(XML、JSON、YAML 等),因此当您想要输出这些数据时,您不仅限于 XML。

接下来,您可以将 XML 视为您希望存储的完整实体。在这种情况下,您希望将其存储为 CLOB 或 XML(在 Oracle 中)。Oracle 当然支持基于 XPath 的搜索,因此您将获得查询结果数据集的好机会。

最后,如果您认为 XML 过于臃肿,并且您可以控制对 pojo 的任何更改,您可以将未编组的 pojo 作为 BLOB 直接序列化到数据库中。您将拥有一个相当紧凑的模式和数据库,但在查询方面您会受到影响,因为它都是二进制的。如果您必须基于旧的 pojo 反序列化一个非常旧的数据集,那么稍后您将遇到二进制版本兼容性问题。

因此,总而言之,JAXB 是处理解组和后续编组过程的一种非常好的方法。它既快速又简单,并且(在这里向@Blaise Doughan 点头)很好地支持 SO 一方面。JPA 是执行数据库操作的首选技术。Hibernate 是 JPA 的一个实现者(具有良好的扩展),Spring 通过 HibernateTemplate 很好地支持它。同样,您可以使用 Spring 的 JpaTemplate,它的学习曲线可能稍微浅一些。

于 2013-06-07T00:58:03.243 回答