【问题标题】:Spring-Hibernate How to do paginated marshal with JAXB xml bindSpring-Hibernate 如何使用 JAXB xml 绑定进行分页编组
【发布时间】:2012-03-05 08:06:41
【问题描述】:

有一个非常庞大的数据集需要插入到 xml 中。我决定使用 jaxb.xml.bind.Marshaller。

由于数据量很大,我必须通过分页从 db 中选择数据。

我的意思是,例如,我必须从 db 中为每个进程获取 10.000 行,然后立即写入 xml,这个过程一直持续到将写入 300 万行。

最关键的限制是,我只能使用一个 xml 文件。换句话说,我必须将这些庞大的数据编组到一个 xml 文件中。因此,我想知道是否有可能将数据编组到一个 xml 中,然后再次重用和更新相同的 xml bu 编组。

非常感谢。

【问题讨论】:

    标签: xml spring hibernate jaxb marshalling


    【解决方案1】:

    您实际上可以一口气完成,但使用不太方便的框架。首先使用原始 JDBC(可能使用 JdbcTemplate,参见采用 RowCallbackHandler 的方法),而不是将整个表(300 万行)映射到一个巨大的集合中,而是迭代结果(例如使用 ResultSet)。通过这种方式,您可以避免多次分页查询,并且内存占用最少(与一次获取 10000 行相比,内存占用更小)。

    输出这么大的 XML 文件是一个更大的问题。 不能用于输出, 不适合这么大的文件。我认为最好的方法是直接使用PrintWriter打印XML...

    【讨论】:

      猜你喜欢
      • 2012-05-10
      • 2013-12-10
      • 2013-11-06
      • 2019-11-08
      • 1970-01-01
      • 2011-09-30
      • 1970-01-01
      • 2014-10-27
      • 2013-05-30
      相关资源
      最近更新 更多