在db as-is或json中保存对象?

时间:2013-07-21 13:07:42

标签: java mysql serialization

我有一个对象,它的内容我想保存在mysql中。我现在正在做的是将其转换为JSON并将其写为文本。如果我需要阅读它,我解码json并创建相同的对象。但是我看到我可以将对象保存为mysql db作为Object并将其作为对象读取,然后将其转换为我的类。我不需要能够在json中搜索。

让我们说这是我的对象:

class bus extends car{
  private int seats;
  private Person driver;

  public bus(Person driver){
    super();
    this.seats = 50;
    this.driver = driver;
  }
}

那么首选方式(时间,编码,内存使用等)是什么? 在mysql db中保存这种对象的正确方法是什么?

2 个答案:

答案 0 :(得分:0)

不是将其保存为JSON,而是可以使用xstream并将类序列化为xml,然后可以将其保存为数据库中的“clob”。一旦使用xstream反序列化,它将返回对象,因此您不必进行手动转换。 xstream也支持序列化为json。

http://x-stream.github.io/

http://x-stream.github.io/json-tutorial.html

答案 1 :(得分:0)

如果您不需要此格式提供的选项,请考虑使用标准方式 - 基于序列化的二进制格式

有好处

  1. 非常少占用空间
  2. 不需要第三方库
  3. 开箱即用解决方案,因为java
  4. 出于这个原因,请考虑使用特殊的ORM工具。它将大大简化您的任务并节省您的时间。

    有ORM工具 1.休眠 2. MyBatis 3. Eclipse链接 4. Spring jdbc

    使用其中一个让你专注于商业点而不是低级概念