gpt4 book ai didi

java - 我是否需要在将对象放入 MySql 之前对其进行序列化?

转载 作者:行者123 更新时间:2023-12-01 14:32:38 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Storing JSON in database vs. having a new column for each key

(10 个回答)


去年关闭。




我用 JAXB 反序列化了一个 XML 文件。由于 xml 文件,现在我有了包含信息的类。现在我需要将数据放入 mySql 中,例如我需要用 JSON 再次序列化它吗?

最佳答案

好吧,MySQL 不能将您的 Java 对象直接存储在数据库中。您需要将其转换为 primitive data type那个 MySQL 支持。
通常,数据库中的对象存储在它们的serialized form 中。如 BLOB .但是,这种方法有几个缺点,可能最重要的一个是它对可以读取数据的限制:如果不费力,您就无法从不同的语言读取它。此外,数据以人类无法读取的形式存储。另一方面,这种方法可以避免您在下次从数据库中读取它后再次对其进行解码。
您也可以将其存储为 string以人类可读的形式,如 XML 或 JSON。我没有看到将它存储为 JSON 而不是 XML 的任何值(value),除非 JSON 可以为您节省一些额外的字节,但我认为这样做不值得。通过这种方法,数据以人类可读的形式存储,并且可以使用任何语言轻松读取和解码,这与序列化形式不同。但是,这些优势并不是免费的,您也有一个缺点:它的尺寸要重得多——但是除非您对存储有严格的要求,否则一开始您不必担心。
我不建议将对象存储为单个值,您可能希望将每个字段存储在单独的列中。在这种情况下,您需要一个 ORM tool来帮助你。

关于java - 我是否需要在将对象放入 MySql 之前对其进行序列化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61174023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com