2010-04-30 143 views
5

我在Java中的變量,返回類型是Object(java.lang.Object中)。我想存儲在MySQL數據庫這個變量的值沒有任何其他原始數據類型轉換。 MySQL中是否有與Object相關的數據類型?要存儲對象在MySQL數據庫

+3

請注意,將序列化對象存儲在數據庫中(暫時除外)通常不是一個好主意,因爲對對象類的更改可能會使存儲在數據庫中的序列化對象與其不兼容。 – ColinD 2010-04-30 19:52:38

+1

這肯定會讓事情變得簡單。看看ORM或OODBMS。 http://en.wikipedia.org/wiki/Object-relational_mapping和http://en.wikipedia.org/wiki/Object_database – 2010-04-30 20:20:04

回答

5

您可以使用BLOB來存儲原始數據,但否則MySQL不會專門爲Java對象提供數據類型。

作爲一個方面說明:您可能不應該將原始對象存儲到數據庫中,這種方式會阻止您對其執行任何類型的查詢。

+0

謝謝webdestroya – kandarp 2010-04-30 19:51:24

+0

沒問題。一定要將問題標記爲已回答! – 2010-04-30 20:02:28

2

BLOB可以做到這一點。將對象序列化爲一個字節數組並將其作爲BLOB插入。

3

無論如何,您必須序列化對象,以便您可以序列化爲XML或JSON。一個人類可讀的存儲形式是我更喜歡的。 看一看Xstream例如。一個用於編組/解組的非常好的線程安全工具。

我假設當然,你的對象是一個Bean/POJO。

+0

死鏈接,試試這個http://x-stream.github.io – 2017-09-13 13:08:06