我正在使用JSoup来提取<table>
标签中的元素。这是我使用.text()时的结果:
ACCOUNT
0000001
0000002
0000003
NAME
Customer1
Customer2
Customer3
BALANCE
100.00
200.00
550.00
我想将此输出存储到mysql数据库中。我能这样做吗?如果输入存储是xml doc,我该怎么办?
答案 0 :(得分:0)
将XML插入数据库时,您需要考虑您希望对XML所代表的数据执行哪些操作。
例如,您可以将XML视为输入数据,然后创建一个以易于查询的方式保存数据的模式。如果你想做什么,那么使用JAXB作为unmarshaller,因为你可以通过xjc工具从XSD轻松生成适当注释的pojos /实体。一些额外的JPA注释,您将有一个快速的解决方案,将XML映射到一个完整的架构,允许各种混合和匹配查询和替代视图。当然,JAXB注释可用于生成各种输出格式(XML,JSON,YAML等),因此当您想要输出此数据时,您不仅限于XML。接下来,您可以将XML视为您希望存储的完整实体。在这种情况下,您希望将其存储为CLOB或XML(在Oracle中)。 Oracle肯定支持基于XPath的搜索,因此您可以获得查询结果数据集的良机。
最后,如果您认为XML过于臃肿,并且您可以控制pojos的任何结果更改,您可以将未编组的pojos作为BLOB直接序列化到数据库中。你会有一个相当紧凑的架构和数据库,但是在查询时你会受到影响,因为它都是二进制的。如果您必须根据旧pojos反序列化一个非常旧的数据集,那么您以后会遇到二进制版本兼容性问题。
因此,总而言之,JAXB是处理解组和后续编组过程的一种非常好的方法。它的快速和简单(并且在这里对@Blaise Doughan点头)非常支持SO的一件事。 JPA是执行数据库操作的首选技术。 Hibernate是JPA的一个实现者(具有良好的扩展),Spring通过HibernateTemplate精美地支持它。同样,你也可以使用Spring的JpaTemplate,它的学习曲线可能稍浅。