kandarp
kandarp

Reputation: 5047

Want to store Object in MySQL database

I have a variable in java which return type is Object(java.lang.Object). I want to store this variable value in MySQL database without casting in any other primitive data type. Is there any data type available in MySQL related to Object?

Upvotes: 7

Views: 19023

Answers (4)

Sarl sbeer
Sarl sbeer

Reputation: 55

I'm not sure what do you mean by Object(java.lang.Object). but I think if you tried JSON datatype in MySQL it'll work fine.

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

or

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

Upvotes: 0

rompetroll
rompetroll

Reputation: 4799

You must serialize the Object anyway, so you could serialize to XML or JSON aswell. A human readable storage form is what I would prefer. Have a look at Xstream for example. A great, threadsafe tool for marshalling/unmarshalling.

I assume of course, that your Object is a Bean/POJO.

Upvotes: 3

Mitch Dempsey
Mitch Dempsey

Reputation: 39869

You can use a BLOB to store the raw data, but otherwise no, MySQL does not have a datatype specifically for a java object.

As a side note: You probably shouldn't be storing a raw object into the database, that kind of prevents you from doing any sort of queries on it.

Upvotes: 6

duffymo
duffymo

Reputation: 308743

BLOB could do it. Serialize the object into a byte array and INSERT that as a BLOB.

Upvotes: 2

Related Questions