java - 将对象按原样保存在数据库中还是保存为 json?

标签 java mysql serialization

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

可以说这是我的对象:

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

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

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

最佳答案

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

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

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

关于java - 将对象按原样保存在数据库中还是保存为 json?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17772636/

相关文章:

java - 使用 derby/jpa/tomcat,数据库总是已经启动

java - 对于 Oracle,connection.getCatalog() 返回 null

mysql - 保持 WHERE IN 中的顺序(子查询)

mysql - count语句与where的一对多关系

c# - 如何最小化序列化数据的大小

c++ - boost 序列化和 double

java - JAXB 序列化 POJO 中的 JsonElement 字段

java - 从线程中的数组获取值时出错(JAVA GUI 老虎机游戏)

Java JAR 的行为与在 IDE 外运行的程​​序不同

mysql - 匹配和更改的行数不相等