【问题标题】:Want to store Object in MySQL database想要将对象存储在 MySQL 数据库中
【发布时间】:2011-02-14 09:19:03
【问题描述】:

我在 java 中有一个变量,它的返回类型是 Object(java.lang.Object)。我想将此变量值存储在 MySQL 数据库中,而无需转换为任何其他原始数据类型。 MySQL 中是否有任何与 Object 相关的数据类型可用?

【问题讨论】:

标签: java mysql object types


【解决方案1】:

您可以使用BLOB 来存储原始数据,否则不能,MySQL 没有专门用于 java 对象的数据类型。

附带说明:您可能不应该将原始对象存储到数据库中,这会阻止您对其进行任何类型的查询。

【讨论】:

    【解决方案2】:

    无论如何,您都必须序列化 Object,因此您也可以序列化为 XML 或 JSON。我更喜欢人类可读的存储形式。 例如,看看Xstream。用于编组/解组的出色线程安全工具。

    我当然假设您的对象是 Bean/POJO。

    【讨论】:

      【解决方案3】:

      BLOB 可以做到。将对象序列化为字节数组并将其作为 BLOB 插入。

      【讨论】:

        【解决方案4】:

        我不确定Object(java.lang.Object) 是什么意思。但我认为如果您在 MySQL 中尝试 JSON 数据类型,它会正常工作。

        create table person (name JSON );
        INSERT INTO person VALUES ('{"pid": 101, "name": "name1"}');
        INSERT INTO person VALUES ('{"pid": 102, "name": "name2"}');
        

        或

        INSERT INTO person VALUES (JSON_OBJECT("pid",103,"name", "name3"));
        

        【讨论】:

          猜你喜欢
          • 2019-09-15
          • 1970-01-01
          • 1970-01-01
          • 2016-09-01
          • 1970-01-01
          • 1970-01-01
          • 2013-06-30
          • 1970-01-01
          • 2013-01-10
          相关资源
          最近更新 更多